2 tablespoons unsalted butter 3 tablespoons all-purpose flour 2 cups hot milk 1 teaspoon kosher salt 1/2 teaspoon freshly ground black pepper Pinch of nutmeg 12 ounces Gruyère cheese, grated (5 cups) 1/2 cup freshly grated Parmesan cheese 16 slices white sandwich bread, crusts removed Dijon mustard 8 ounces baked Virginia ham, sliced but not paper thin Preheat the oven to 400 degrees.
Melt the butter over low heat in a small saucepan and add the flour all at once, stirring with a wooden spoon for 2 minutes. Slowly pour the hot milk into the butter-flour mixture and cook, whisking constantly, until the sauce is thickened. Off the heat add the salt, pepper, nutmeg, 1/2 cup grated Gruyère, and the Parmesan and set aside.
To toast the bread, place the slices on two baking sheets and bake for 5 minutes. Turn each slice and bake for another 2 minutes, until toasted.
Lightly brush half the toasted breads with mustard, add a slice of ham to each, and sprinkle with half the remaining Gruyère. Top with another piece of toasted bread. Slather the tops with the cheese sauce, sprinkle with the remaining Gruyère, and bake the sandwiches for 5 minutes. Turn on the broiler and broil for 3 to 5 minutes, or until the topping is bubbly and lightly browned. Serve hot.