Method
Start the béchamel

Heat the oven to 220°C (425°F) with a rack in the upper third. Melt 28 g of unsalted butter for béchamel in a small saucepan over medium-low heat. Whisk in 30 g of all-purpose flour and cook for 1 minute, whisking constantly, until the mixture foams but does not brown.
01:00Finish the béchamel

Pour in 360 ml of whole milk gradually while whisking so the sauce stays smooth. Bring it to a gentle simmer, reduce the heat to low, and cook for 4 to 5 minutes, whisking often, until it coats the back of a spoon but still falls in a thick ribbon. Whisk in 0.75 g of kosher salt, 0.5 g of ground black pepper, and 0.5 g of ground nutmeg, then remove the pan from the heat.
04:00Toast the bread
Arrange 8 slices of white sandwich bread in one layer on a rimmed baking sheet. Melt 7 g of unsalted butter for bread and brush it over the exposed surfaces. Bake for 5 minutes, turning the slices halfway through, until the bread feels dry at the surface and shows pale golden edges without becoming hard.
05:00Assemble the sandwiches

Arrange 8 slices of white sandwich bread in pairs. Spread 30 g of Dijon mustard over one slice in each pair. Layer 160 g of cooked ham and 140 g of Gruyère for filling evenly over the mustard-coated slices, then close the sandwiches with the matching bread slices. Spoon the béchamel over the tops, leaving a narrow border of bread visible, and scatter 58 g of Gruyère for topping across the sauce.
Heat the sandwiches through
Bake the assembled sandwiches for 6 to 8 minutes, checking first at 6 minutes, until the filling is hot and the cheese on top is fully melted. Keep the baking sheet in the upper third of the oven so the tops color evenly.
06:00Cook the eggs until firm

While the sandwiches bake, melt 7 g of unsalted butter for eggs in a large nonstick skillet over medium-low heat. Crack 4 large eggs into the skillet, working in batches if they do not fit without touching. Keep shell fragments and raw egg away from the finished sandwiches; wash hands and any contacted surface with hot, soapy water. Cover the skillet and cook each batch for 4 to 6 minutes, checking first at 4 minutes and restarting the timer for every additional batch, until every white is opaque and every yolk is completely firm. Use a food thermometer in the center of a yolk to verify 71°C/160°F, and continue cooking if the temperature is lower.
04:00Brown the topping

Switch the oven to broil and watch closely for 1 to 2 minutes, checking first at 1 minute, until the béchamel bubbles and the Gruyère develops scattered deep-golden spots. Remove the baking sheet as soon as the tops are browned; the bread edges should remain golden, not dark.
01:00Top and serve
Transfer the hot sandwiches to plates. Divide 4 large eggs among them, placing one fully cooked egg on each sandwich. Serve at once with a knife and fork so each portion includes crisp bread, ham, melted cheese, béchamel, and firm egg.
Smart Substitutions
- No Gruyère? Use Comté or Emmental for a similarly nutty flavor and reliable melt.
- Prefer a leaner ham? Choose thinly sliced cooked ham with less visible fat; avoid sweet glazes that can scorch under the broiler.
- No whole milk? Use 2% milk and simmer the béchamel a little longer if it needs more body.
- No Dijon mustard? Use a smooth whole-grain mustard with moderate heat and a restrained vinegar bite.
Tips and Variations
- Grate the Gruyère from a block so it melts evenly instead of forming dry, separate shreds.
- Toast only until the bread surface feels dry; deeply browned bread can become too hard after the second trip to the oven.
- Keep the egg heat low and cover the skillet so steam firms the yolks before the bottoms turn leathery.
What Went Wrong?
- Béchamel is lumpy Take the pan off the heat and whisk vigorously until smooth, then return it to low heat.
- Béchamel is too thick Whisk in a small splash of milk until the sauce again falls from the spoon in a thick ribbon.
- Bread turns soft Toast it until the surface feels dry before assembly, and keep the sauce on top rather than letting it run down the sides.
- Egg bottoms brown before the yolks firm Lower the heat, cover the skillet, and let trapped steam finish cooking the yolks gently.
Nutrition Estimate
- Fiber: 3 g per serving
- Sodium: 1230 mg per serving
Nutrition disclaimer:This recipe is provided for general cooking information only. Nutrition values are estimates and may vary by ingredients, brands, preparation methods, and serving sizes. Check ingredient labels and follow appropriate food-safety practices. This content is not medical, dietary, allergy, or professional food-safety advice.



