Quick Recipe Version (TL;DR)
Quick Ingredients
- 4 slices brioche or country white bread (3/4-inch thick)
- 2 tbsp unsalted butter + 1 tbsp for griddling, divided
- 2 tbsp all-purpose flour
- 1 cup whole milk, warmed
- 1 1/2 cups (6 oz) grated Gruyère, divided
- 1/4 tsp ground nutmeg; 1/2 tsp kosher salt; pinch white or black pepper
- 2 tsp Dijon mustard
- 6 oz thinly sliced ham
- 2 large eggs; 2 tsp butter or oil for frying
- Chopped chives, optional
Do This
- 1. Warm milk; preheat broiler to High (or oven to 425°F). Grate Gruyère.
- 2. Make béchamel: melt 2 tbsp butter; whisk in 2 tbsp flour 1 minute. Slowly whisk in 1 cup warm milk; simmer until thick, 3–4 minutes. Season; melt in 1/2 cup Gruyère.
- 3. Griddle bread in 1 tbsp butter over medium heat until golden, 1–2 minutes per side.
- 4. Spread Dijon on 2 slices; layer ham and 1/2 cup Gruyère; add 1–2 tbsp sauce inside; top with remaining bread.
- 5. Spoon sauce over tops; sprinkle remaining Gruyère. Broil 2–4 minutes (or bake 6–8 minutes) until bubbling and browned.
- 6. Fry 2 eggs in butter/oil over medium until whites just set, 2–3 minutes.
- 7. Top each sandwich with an egg; finish with chives and pepper. Serve hot.
Why You’ll Love This Recipe
- Classic French comfort food with a home-cook-friendly method and simple tools.
- Buttery, crisp bread meets melty Gruyère, silky béchamel, and savory ham.
- A just-set fried egg adds richness and that irresistible yolk sauce moment.
- Great for brunch, a special lunch, or a speedy weeknight treat.
Grocery List
- Produce: Fresh chives (optional)
- Dairy: Unsalted butter, whole milk, Gruyère cheese, large eggs
- Pantry: Brioche or country white bread, Dijon mustard, all-purpose flour, kosher salt, pepper, ground nutmeg, neutral oil (for eggs)
Full Ingredients
Béchamel (Mornay) Sauce
- 2 tbsp unsalted butter
- 2 tbsp all-purpose flour
- 1 cup whole milk, warmed
- 1/2 cup (2 oz) Gruyère, finely grated
- 1/2 tsp kosher salt, or to taste
- 1/8–1/4 tsp white pepper (or black pepper)
- 1/4 tsp ground nutmeg
Sandwiches
- 4 slices brioche or country white bread (about 3/4-inch thick)
- 1 tbsp unsalted butter (for griddling)
- 2 tsp Dijon mustard
- 1 cup (4 oz) Gruyère, finely grated
- 6 oz thinly sliced ham (Black Forest or Paris-style)
Eggs & Finish
- 2 tsp butter or neutral oil (for frying eggs)
- 2 large eggs
- Chopped fresh chives, optional
- Freshly ground black pepper and a pinch of flaky salt, to finish

Step-by-Step Instructions
Step 1: Preheat and prep
Set the broiler to High and place a rack 6 inches from the heat source (or preheat the oven to 425°F if you prefer baking). Warm the milk gently in a small saucepan or microwave until steamy but not boiling; this helps the sauce thicken smoothly. Finely grate all the Gruyère so it melts quickly and evenly.
Step 2: Make the béchamel (then turn it into Mornay)
In a medium saucepan over medium heat, melt 2 tbsp butter. Whisk in 2 tbsp flour and cook, whisking constantly, until foamy and blond, about 1 minute. While whisking, slowly stream in the warm milk. Simmer, whisking often, until thick enough to coat a spoon, 3–4 minutes. Season with salt, pepper, and nutmeg. Remove from heat and whisk in 1/2 cup (2 oz) Gruyère until smooth. Taste and adjust seasoning. Keep warm over the lowest heat, stirring occasionally.
Step 3: Griddle the bread in butter
Heat a large skillet (cast iron is ideal) over medium heat. Add 1 tbsp butter; when foaming, add the bread slices. Griddle until lightly golden on both sides, 1–2 minutes per side. This prevents sogginess and builds that signature buttery crust.
Step 4: Assemble the sandwiches
Place two slices on a sheet pan. Spread each with 1 tsp Dijon. Top evenly with the ham and 1/2 cup (2 oz) of the remaining Gruyère (about 1/4 cup per sandwich). Spoon 1–2 tbsp of the warm sauce over the cheese, then cap with the remaining bread slices.
Step 5: Smother and broil
Spoon a generous layer of sauce over the top of each sandwich, letting it cascade just over the edges. Sprinkle the tops with the remaining 1/2 cup (2 oz) Gruyère. Broil until the sauce bubbles and the cheese spots golden-brown, 2–4 minutes. Watch closely to avoid burning. (Oven method: bake at 425°F until melted and browned in spots, 6–8 minutes.)
Step 6: Fry the eggs just-set
While the sandwiches finish, heat 2 tsp butter or oil in a nonstick skillet over medium heat. Crack in the eggs and cook sunny-side up until the whites are set but the yolks are still runny, 2–3 minutes. For slightly set tops, cover the pan for the final 30 seconds.
Step 7: Finish and serve
Transfer the hot sandwiches to plates. Crown each with a fried egg. Finish with a pinch of flaky salt, freshly ground pepper, and chives if using. Serve immediately—ideally with a crisp salad or cornichons for contrast.
Pro Tips
- Warm milk makes a smoother, faster-thickening béchamel.
- Use day-old bread and griddle it first to keep the sandwich crisp under the sauce.
- Finely grate Gruyère for fast, even melting and beautiful browning.
- Broilers vary—keep the door ajar and your eyes on the prize during the last minute.
- For just-set eggs with no runny whites, cover the skillet briefly at the end.
Variations
- Croque Monsieur: Skip the fried egg and serve as is.
- Vegetarian: Swap ham for sautéed mushrooms and a handful of baby spinach.
- Cheese swap: Try Comté or Emmental for a slightly nuttier profile.
Storage & Make-Ahead
Make the béchamel (Mornay) up to 3 days ahead; refrigerate in an airtight container. Rewarm gently with a splash of milk, whisking until smooth. Assemble and broil sandwiches just before serving for best texture. Leftover sandwiches can be reheated at 350°F for 8–10 minutes; add a fresh fried egg. Fully assembled, egg-topped sandwiches do not freeze well; freezing is not recommended.
Nutrition (per serving)
Approx. 930 calories; 54 g fat; 45 g carbohydrates; 3 g fiber; 54 g protein; 1500 mg sodium. Estimates will vary based on bread thickness and exact brands.

