2 tablespoons unsalted butter
3 tablespoons all-purpose flour
2 cups hot milk
1 teaspoon kosher salt
1/2 teaspoon freshly ground black pepper
12 ounces Gruyere, grated (5 cups)
1/2 cup freshly grated Parmesan
16 slices white sandwich bread, crusts removed
8 ounces baked Virginia ham, sliced but not paper thin
Preheat the oven to 400 degrees F.
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 Gruyere, and the Parmesan and set aside.
To toast the bread, place the slices on 2 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 Gruyere. Top with another piece of toasted bread. Slather the tops with the cheese sauce, sprinkle with the remaining Gruyere, 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.