- 2 ounces salted butter
- 1 shallot, minced
- 3 tablespoons flour
- Salt to taste
- 2 cups cold milk
- Grated nutmeg to taste
- 4 slices bread, buttered
- Dijon mustard to taste
- 6 ounces sliced ham, warmed or at room temperature
- 2 ounces grated Gruyere cheese
- 1 ounce vegetable oil
- 2 eggs
Combine the butter and shallot in a saucepan over medium heat. Cook until butter is bubbling and the shallot is translucent. Add the flour. Stir until the flour is heated and completely coated with butter. Add a pinch of salt.
Turn the heat to high and add milk, whisking constantly, until the mixture comes to a simmer and thickens. Add nutmeg. Reduce heat to medium-low. Cook at least 15 minutes or up to 45 minutes, skimming away any skin that may form on the surface. Remove from heat and cover.
Preheat oven to broil. Place a pan over medium heat.
Assemble the sandwiches. Spread two pieces of bread with Dijon mustard on the non-buttered sides. Top with ham and grated cheese. Top with the remaining bread slices, buttered sides up.
Set the sandwiches in the pan and cook until golden brown. Flip and cook the other side until bread is golden brown and cheese is melted.
While the sandwiches are cooking, bring the sauce back up to a simmer. Ladle sauce over each sandwich. Place the pan under the broiler to brown the sauce.
Heat vegetable oil in a nonstick pan over medium heat. Add the cracked eggs, keeping them separate. Cook gently until the whites are set.
Remove the sandwiches from the oven and place an egg on top of each. If you prefer your eggs cooked through, return to the broiler.