Begin the recipe by preheating the oven to 400 degrees F. and line a baking sheet with parchment paper. In a small saucepan over medium-low heat, add the 2 cups milk and allow it to heat to a low simmer.
In a separate medium saucepan over low heat, add the 2 tablespoons butter and once melted and foamy, add the 3 tablespoons all-purpose flour, ⅛ teaspoon ground nutmeg, 1 teaspoon salt, and ½ teaspoon ground black pepper. Stir continuously until the mixture is combined, about 2 minutes.
Slowly and carefully whisk the warm milk into the butter mixture to combine. Whisk continuously until thick and smooth. Add the ½ cup Parmesan cheese and ½ cup of Gruyere cheese until melted.
Line the 8 bread slices on the prepared baking sheet and place them into the oven to lightly toast. Bake for 4 to 5 minutes before turning to bake for an additional 2 minutes.
Lightly brush 4 slices of toast with the 4 teaspoons of Dijon mustard, top the mustard with the 8 ounces of thinly sliced ham, followed by 1 cup of shredded Gruyere cheese.
Top each with the remaining 4 slices of toast and generously spread a layer of the prepared white sauce evenly on top of each sandwich followed by the remaining 1 cup of Gruyere cheese.
Turn the oven broiler on low and place the baking sheet back into the oven until the cheese is golden and bubbly, about 3 to 5 minutes. Carefully remove from the oven and serve while warm. Enjoy!