01 - Preheat oven to 400°F.
02 - Melt 1 tablespoon butter in a small saucepan over medium heat. Whisk in flour and cook for 1 minute. Gradually pour in milk while whisking constantly until smooth. Simmer for 2-3 minutes, stirring continuously until sauce thickens. Season with salt, pepper, and nutmeg. Stir in grated Gruyère if using. Remove from heat.
03 - Lightly butter one side of each bread slice. Place two slices buttered side down on a parchment-lined baking sheet. Layer each with 2 slices ham and 2 slices cheese.
04 - Spread 1-2 tablespoons béchamel sauce over the ham and cheese on each sandwich. Top with remaining bread slices, buttered side facing up.
05 - Spoon remaining béchamel over the top of each sandwich. Sprinkle with additional grated cheese if desired.
06 - Bake for 10-12 minutes until golden brown and bubbling. For extra browning, switch to broiler setting for 1-2 minutes, watching closely to prevent burning.
07 - While sandwiches bake, melt 1 teaspoon butter in a non-stick skillet over medium heat. Crack in eggs and fry until whites are set but yolks remain runny.
08 - Remove sandwiches from oven and plate immediately. Top each with a fried egg. Serve hot.