Croque Madame

Croque Madame
⏱️ cook time 25 minutes
🍽️ servings 4
⚡ Difficulty easy

intro

Indulgent French bistro classic: crispy toasted ham and cheese layered with creamy béchamel, melted Gruyère, and crowned with a runny sunny-side-up egg.

Ingredients

Thick-cut white sandwich bread 8 slices (400g total)
Gruyère cheese, grated 220g (2 cups, grated)
Deli-style cooked ham, thinly sliced 160g (8 thin slices)
Large eggs 4 large
Unsalted butter 60g (4 tablespoons)
All-purpose flour 30g (2 tablespoons)
Whole milk, warmed 240ml (1 cup)
Dijon mustard 30g (2 tablespoons)
Ground nutmeg 1/4 teaspoon
Kosher salt 1/2 teaspoon
Freshly ground black pepper 1/4 teaspoon

Steps

1

Make the béchamel sauce

Melt 30g (2 tbsp) of unsalted butter in a small saucepan over medium-low heat. Whisk in 30g (2 tbsp) all-purpose flour to form a smooth, pale roux, and cook for 2 minutes, stirring constantly, until it smells faintly toasty and nutty. Slowly pour in 240ml (1 cup) warmed whole milk, whisking continuously to avoid lumps, and cook for 3-4 minutes until the sauce thickens enough to coat the back of a spoon. Stir in 1/4 tsp ground nutmeg, 1/4 tsp kosher salt, and 1/8 tsp black pepper, then set aside off heat.

Step 1
step1:Make the béchamel sauce
2

Assemble sandwich bases

Lay 8 slices of thick-cut white bread on a clean work surface. Spread 1.5 teaspoons of Dijon mustard evenly over one side of each of 4 bread slices (the base of each sandwich). Divide 110g (1 cup) of the grated Gruyère and all 160g of thinly sliced ham across the 4 Dijon-coated slices, piling fillings in an even layer. Top each filled base with a second bread slice, pressing down gently to form 4 tight, closed sandwiches.

Step 2
step2:Assemble sandwich bases
3

Toast the sandwiches

Melt 15g (1 tbsp) of the remaining unsalted butter in a large cast-iron or nonstick skillet over medium heat. Add 2 of the assembled sandwiches, and cook for 2-3 minutes per side until the bread is deep golden brown and the cheese inside starts to melt. Transfer the toasted sandwiches to a parchment-lined baking sheet, then repeat with the remaining 15g (1 tbsp) butter and 2 remaining sandwiches.

Step 3
step3:Toast the sandwiches
4

Top with sauce and cheese

Turn your oven broiler to high heat to preheat for 2 minutes. Spoon 60ml (4 tbsp / 1/4 cup) of the prepared béchamel sauce evenly over the top of each toasted sandwich, spreading it to cover the entire top surface all the way to the bread edges. Sprinkle the remaining 110g (1 cup) of grated Gruyère evenly over the béchamel on each sandwich.

Step 4
step4:Top with sauce and cheese
5

Broil to melt cheese

Place the baking sheet on the middle rack of the preheated broiler, positioned 15cm (6 inches) from the top heat element. Broil for 2-3 minutes, watching very closely, until the cheese is fully melted, bubbly, and dotted with light golden brown spots across the top. Remove the baking sheet from the oven and set aside while you cook the eggs.

Step 5
step5:Broil to melt cheese
6

Fry eggs and plate

Wipe out the skillet used for toasting sandwiches, and heat it over medium-low heat. Crack the 4 large eggs into the pan, taking care not to break the yolks, and cook for 2-3 minutes until the egg whites are fully opaque and set but the yolks remain soft and runny. Season the eggs with the remaining 1/4 tsp kosher salt and 1/8 tsp black pepper. Place one fried egg on top of each broiled sandwich, and serve immediately.

Step 6
step6:Fry eggs and plate

Tips

1.Warm your milk before whisking it into the roux to avoid lumpy béchamel; cold milk causes the hot roux to seize and create uneven clumps.
2.Stay close to the oven while broiling: the high direct heat can burn the cheese topping in 30 seconds or less if left unmonitored.
3.Press the assembled sandwiches gently before toasting to help them hold together, and avoid overstuffing to prevent fillings from oozing out and burning during cooking.

✨ You May Also Like

Breakfast
🍜 United States

Crisp-edged, fluffy lard griddle cakes are a nostalgic homestyle staple, with rich savoriness from rendered lard, perfect topped with maple syrup or savory gravy.

⏱️ 25 minuteBreakfast ★ 4.9
Breakfast
🍜 United States

Flaky, buttery homemade buttermilk biscuits smothered in creamy, peppery pork sausage gravy: a beloved, hearty Southern American comfort food classic.

⏱️ 35 minuteBreakfast ★ 5
Breakfast
🍜 United States

Golden, custardy brioche stuffed with sweet cream cheese and fresh berries, pan-fried to crisp perfection. An indulgent, cozy breakfast perfect for slow weekend mornings.

⏱️ 30 minuteBreakfast ★ 4.7
Breakfast
🍜 United States

Flaky, buttery Southern-style biscuits stuffed with savory salty country ham, a portable, satisfying classic perfect for casual on-the-go meals.

⏱️ 25 minuteBreakfast ★ 4.8
Breakfast
🍜 United States

Iconic puffy baked pancake popularized in Seattle, with crisp golden edges and soft custardy center, served warm with classic sweet toppings.

⏱️ 35 minuteBreakfast ★ 4.6
Breakfast
🍜 United States

Fluffy, golden pancakes studded with juicy peak-summer mixed berries, drizzled with maple syrup for a bright, comforting, crowd-pleasing family breakfast.

⏱️ 25 minuteBreakfast ★ 4.8

Croque Madame:Frequently Asked Questions

1.What’s the actual difference between a Croque Madame and a Croque Monsieur?
The only defining difference is the runny sunny-side-up egg crowning a Croque Madame—Croque Monsieur omits this topper. Both share the core build of thick-cut toasted white bread, deli ham, nutty Gruyère, and velvety béchamel, but the Madame’s oozing yolk adds an extra rich, sauce-like layer that makes it feel extra indulgent.
2.Can I substitute Gruyère if I don’t have it on hand?
You can, though Gruyère’s nutty, ultra-melty texture is ideal for that classic bistro flavor. The closest swaps are Comté, or a 50/50 mix of shredded Swiss and sharp white cheddar. Skip low-moisture cheeses like parmesan as the main cheese, as they won’t give that smooth, stretchy melted pull the sandwich is known for.
3.How do I keep my bread from getting soggy when making this?
Sogginess usually comes from overly thin béchamel or skipping a pre-toast for the bread. Start by lightly toasting your thick-cut white bread on both sides in a little melted butter before layering, and make sure your béchamel is thick enough to coat the back of a spoon. Assemble and broil right before serving to keep a crisp, crunchy edge.
4.What’s the best way to get that perfectly runny egg yolk on top?
Cook your sunny-side-up egg low and slow in a small pat of unsalted butter over medium-low heat. Cover the pan for 1 to 2 minutes to set the egg whites fully without flipping, so the yolk stays bright and runny. Wait to place it on the sandwich until right before serving, so residual heat doesn’t overcook the yolk.
5.Do I have to use thick-cut white sandwich bread, or will regular thin slices work?
Half-inch thick soft white sandwich bread is strongly recommended, because it holds up to the heavy layers of ham, melted cheese, and béchamel without falling apart. Thin sliced bread gets soggy fast and can’t support the egg topper. If you only have thin slices, double them up for each side to add sturdiness.
6.Can I prep parts of this ahead of time for a quick brunch?
You can absolutely prep components 1 to 2 days ahead to cut down on day-of work. Make your béchamel, grate your Gruyère, and portion your sliced ham ahead, storing all in airtight containers in the fridge. Wait to toast the bread, cook the eggs, and broil assembled sandwiches until right before serving for best texture.
7.What type of ham works best for an authentic, classic flavor?
Thinly sliced, mild deli-style cooked ham is the traditional pick—skip honey-glazed, heavily smoked, or spiced hams, as they will overpower the nutty Gruyère and creamy béchamel. Ask your deli counter to slice it about 1/8-inch thick, so it layers easily and doesn’t slide out when you take a bite.
8.Why do most classic recipes call for broiling the sandwich instead of pan-frying it the whole time?
Broiling after a quick pan-toast gives you the best of both worlds: crispy, buttery toasted bread from the pan, and perfectly bubbled, golden-brown melted Gruyère and béchamel on top without squishing the sandwich. Pan-frying the whole time can make bread greasy, and won’t deliver that signature crisped cheese top you get at French bistros.
9.My béchamel always comes out lumpy—what am I doing wrong?
Lumpy béchamel almost always comes from adding cold milk too fast to your cooked butter-flour roux. Let your roux cook for 2 minutes over low heat, then whisk in warm milk a small splash at a time, stirring constantly, until smooth. If you still end up with lumps, pour the sauce through a fine mesh sieve before layering it on your sandwiches.

Comments (11)

2 days ago

OMG this was SO good! I was nervous to make a French classic for my book club brunch, but it came together in literally 25 minutes just like the recipe said. The crispy bread, melty gruyere, that runny yolk on top? Total game changer. My friends asked for the recipe before they even finished their first bite!

yesterday

So glad your book club brunch was a hit, Sarah! That runny egg yolk oozing over the ham and cheese is really what makes the Croque Madame feel special, isn’t it? Thanks for leaving such a sweet note!

1 week ago

Made this for Sunday family dinner last week and my kids devoured it! I swapped the dijon for whole grain mustard because that’s what I had in the fridge, and it still turned out amazing. So easy even my 12 year old helped assemble the sandwiches. Will absolutely be adding this to our weekly rotation.

5 days ago

Whole grain mustard swap is genius! I did that too last time I made these and it added such a nice little texture kick. My picky 8 year old ate two whole sandwiches which never happens!

3 days ago

Love that you got your kid involved in the kitchen! The whole grain mustard swap is such a great easy modification, I’ll have to note that for other readers. So happy your family loved it!

30 minutes ago

Tried this for a lazy Saturday brunch and wow, way easier than I thought it would be. I’ve ordered Croque Madame at fancy cafes a dozen times and never realized how simple it is to make at home for a fraction of the price. The bechamel sauce comes together so fast, no lumps if you whisk constantly like the tip says!

3 days ago

Okay I know I’m the guy who posts about tacos every week, but this sandwich? Absolute banger. I added a little sprinkle of paprika on top of the bechamel before broiling for a tiny smoky kick, and chef’s kiss. 25 minutes start to finish is perfect for a quick weeknight dinner when I don’t feel like putting in a ton of effort. Only knocked off a star because I wish there was a little more tang from the dijon, but that’s just my personal preference!

2 days ago

So happy you branched out from taco night to give this a try! That paprika sprinkle sounds delicious, I love a little smoky element to cut through the rich cheese and cream. Feel free to add extra dijon next time to amp up that tang — it’s totally customizable!

2 weeks ago

Meal prep win alert! I made a batch of these on Sunday, wrapped them individually, and popped them in the fridge for quick breakfasts during the work week. 30 seconds in the microwave and a quick toast in the pan to crisp up the bread, and it tastes just as good as fresh. My mornings are so much less chaotic now!

1 week ago

Wait how do you store them? Do you leave the egg off until you reheat? I tried meal prepping breakfast sandwiches before and the egg got all rubbery.

5 days ago

Great question! For meal prep, I recommend cooking the eggs fresh right before you eat if you can — it only takes 2 minutes to fry up an egg while the sandwich toasts, and you avoid that rubbery texture. So glad the recipe is making your mornings easier!

yesterday

Wait, has anyone tried making this with plant-based ham and dairy free cheese? I’m not fully vegan but I’m trying to cut back on dairy, and this looks so good I don’t want to miss out! The recipe looks super straightforward so I feel like swaps would work easy, giving 4 stars for now until I test it out myself!

2 hours ago

I made it with vegan gruyere, coconut cream based bechamel, and plant based ham last weekend! It was so tasty, you couldn’t even tell it was dairy free. Just make sure your vegan cheese melts well, some brands are garbage for that.

30 minutes ago

Thanks for chiming in with that plant-based tip! I’ve tested it with a few dairy free cheese blends and the ones that melt smoothly work best, just like PlantBasedBabe said. Hope you love it if you give the swaps a try!

5 minutes ago

Perfect recipe for a broke college kid! Ingredients are super basic, no fancy equipment needed, and it’s way better than the sad dining hall sandwiches. I didn’t have gruyere so I used swiss, and it still slapped. 10/10 would make again for my roommates when we have our next movie night.

yesterday

I’ve been making Croque Madame for decades, and this is hands down the easiest, most consistent version I’ve ever tried. The cook time is spot on, no overcooked eggs, no burnt bread under the broiler. I brought these to my neighborhood potluck last month and not a single sandwich was left! Everyone asked for the recipe.

2 hours ago

Pat, that means so much coming from someone who’s been making this classic for years! I’m so glad the recipe worked out for your potluck — there’s no better compliment than an empty platter, right?

5 days ago

Run don’t walk to make this! I had some leftover sourdough from my local bakery so I used that instead of regular white bread, and it elevated the whole thing so much. Perfect balance of salty ham, creamy bechamel, tangy dijon, and that runny egg on top. My partner said it’s better than the version we got at that little French bistro in Manhattan last month.

3 days ago

Sourdough swap is elite! The tang cuts through all that rich cheese so perfectly. I did that too and added a little arugula on the side for some peppery greens, chef’s kiss.

2 days ago

Wait which bistro? I’m always hunting for good French food in the city! Also need to try this recipe this weekend now that I see all these rave reviews.

just now

Made these after my kid’s early morning soccer game last weekend and it was the perfect hearty brunch to refuel the whole team. The parents were all impressed that I threw it together so fast — little do they know how dead simple the recipe is! I added a side of fresh fruit to balance the richness, and everyone cleaned their plates.

3 days ago

Broiled the cheese for a minute too long on my first batch and got a couple burnt edges, but that was 100% my fault for not watching the oven. The second batch came out perfect, golden bubbly cheese all over, no burnt spots. Pro tip for other new cooks: don’t walk away when the broiler is on! It goes from perfect to charred in like 10 seconds.

2 days ago

That’s such a great pro tip, Jake! Broilers are notoriously finicky, and it’s so easy to get distracted while you’re waiting for the cheese to bubble. I’m glad your second batch turned out perfectly — those slightly crispy edges are actually my favorite part as long as they’re not burnt!