Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 cup (120 g) all-purpose flour
- 1 1/4 cups (300 ml) whole milk
- 1/2 cup (120 ml) water
- 2 large eggs
- 2 tbsp (28 g) unsalted butter, melted (plus more for the pan)
- 1/2 tsp kosher salt
- 8 thin slices ham (about 6 oz / 170 g)
- 2 cups (about 7 oz / 200 g) shredded Gruyère (or Swiss)
- 4 large eggs (for topping)
- Freshly cracked black pepper, to finish
- 1 tbsp chopped chives or parsley (optional)
Do This
- 1. Whisk flour and salt, then whisk in milk, water, 2 eggs, and melted butter until smooth.
- 2. Rest batter 20 minutes (room temperature) for tender crepes.
- 3. Cook 8 thin crepes in a buttered 10-inch nonstick skillet over medium heat (about 45–60 seconds per side).
- 4. Fill each crepe with ham and Gruyère; fold into quarters and warm until cheese melts.
- 5. Fry 4 eggs in butter over medium-low heat until whites set and yolks stay runny (about 2 1/2–3 1/2 minutes).
- 6. Top each plate with a runny egg, cracked black pepper, and chives; serve right away.
Why You’ll Love This Recipe
- It feels like a cozy French bistro brunch, but it’s completely doable at home.
- Delicate crepes + melty cheese + salty ham + runny yolk is a classic, can’t-miss combo.
- You can make the crepes ahead, then assemble quickly when you’re ready to eat.
- Easy to customize with different cheeses, meats, or greens.
Grocery List
- Produce: chives or parsley (optional), mixed greens or arugula (optional)
- Dairy: whole milk, unsalted butter, Gruyère cheese
- Pantry: all-purpose flour, kosher salt, black pepper
- Meat & Eggs: sliced ham, large eggs
Full Ingredients
Crepe Batter (makes 8 crepes)
- 1 cup (120 g) all-purpose flour
- 1/2 tsp kosher salt
- 1 1/4 cups (300 ml) whole milk
- 1/2 cup (120 ml) water
- 2 large eggs
- 2 tbsp (28 g) unsalted butter, melted and slightly cooled
- 1/2 tsp Dijon mustard (optional, adds a subtle savory note)
Filling (per crepe: ham + cheese)
- 8 thin slices ham (about 6 oz / 170 g), folded or torn into pieces
- 2 cups (about 7 oz / 200 g) Gruyère, shredded (or Swiss/Emmental)
- 1–2 tbsp unsalted butter, for the skillet as needed
Runny Eggs (to finish)
- 4 large eggs
- 1 tbsp (14 g) unsalted butter
- 1/8 tsp kosher salt (optional)
To Serve
- Freshly cracked black pepper, to taste
- 1 tbsp chopped chives or parsley (optional)
- Lightly dressed arugula or mixed greens (optional, for a bistro-style plate)

Step-by-Step Instructions
Step 1: Make a smooth crepe batter
In a medium bowl, whisk together the flour and salt. Add the milk and water gradually while whisking to prevent lumps. Whisk in the 2 eggs until fully combined, then whisk in the melted butter. If using, whisk in the Dijon mustard.
Optional for extra-smooth batter: Blend for 10–15 seconds with an immersion blender or countertop blender, then let the bubbles settle during the rest.
Step 2: Rest the batter for tender crepes
Let the batter rest at room temperature for 20 minutes. This allows the flour to hydrate and helps the crepes cook up more tender (and less prone to tearing).
If your kitchen is very warm, you can rest it in the refrigerator for 20–30 minutes instead. Give it a quick whisk before cooking.
Step 3: Cook the crepes (8 total)
Heat a 10-inch nonstick skillet over medium heat for 2 minutes. Add about 1/2 tsp butter and swirl to lightly coat.
Pour in 1/4 cup (60 ml) batter, immediately tilting and swirling the pan so the batter coats the bottom in a thin layer. Cook until the edges look dry and lightly golden and the center is set, about 45–60 seconds.
Flip carefully (use a thin spatula) and cook the second side 15–25 seconds, just until lightly golden. Slide onto a plate. Repeat with remaining batter, buttering the pan as needed. Stack crepes as you go; they won’t stick much once cooled for a minute.
Step 4: Fill with ham and cheese
Reduce heat to medium-low. Place one crepe back in the skillet. Sprinkle on about 1/4 cup shredded Gruyère and add 1 slice ham (folded or torn into pieces to cover the center).
Cook for 45–90 seconds until the cheese starts to melt. Fold the crepe in half, then in half again to make a triangle (quarters). Transfer to a warm plate. Repeat with remaining crepes.
Tip: If the pan seems dry, add a tiny smear of butter before each crepe to prevent sticking and encourage gentle browning.
Step 5: Keep the filled crepes warm while you cook the eggs
To keep everything hot for serving, place the filled crepes on a baking sheet and warm in a 200°F (95°C) oven while you fry the eggs. This is especially helpful if you’re cooking in batches.
Step 6: Fry the eggs with runny yolks
In a clean nonstick skillet, melt 1 tbsp butter over medium-low heat. Crack in the 4 eggs. Cook until the whites are fully set but the yolks are still soft and runny, about 2 1/2 to 3 1/2 minutes.
If you like, sprinkle the eggs with 1/8 tsp kosher salt while they cook. Avoid high heat, which can toughen the whites before the yolks warm through.
Step 7: Plate and finish like a bistro
Place 2 filled crepes on each plate. Top each portion with 1 runny egg. Finish with plenty of freshly cracked black pepper and a sprinkle of chives or parsley.
For a classic brunch plate, add a small handful of lightly dressed arugula or mixed greens on the side.
Pro Tips
- Use the right heat: Crepes do best over medium heat. Too hot and they’ll spot and crisp; too low and they’ll dry out.
- Measure the batter per crepe: Using 1/4 cup (60 ml) per crepe keeps them consistently thin and foldable.
- Shred your own cheese: Pre-shredded cheese can melt less smoothly. Freshly shredded Gruyère gives the best oozy texture.
- Warm, don’t overcook, the filling: The ham is already cooked; you’re just melting the cheese and warming everything through.
- For the runniest yolk: Cook eggs on medium-low and pull them when the whites are set; they’ll carry over slightly off heat.
Variations
- Classic “complete” style: Add a small handful of baby spinach to each crepe before folding; let it wilt as the cheese melts.
- Swap the protein: Use cooked bacon, prosciutto, or smoked salmon (add salmon off-heat so it stays silky).
- Cheese changes: Try sharp white cheddar, Comté, or fontina. Keep the amount the same: 2 cups (about 7 oz / 200 g).
Storage & Make-Ahead
Make ahead: Crepe batter can be made up to 24 hours ahead and stored covered in the refrigerator; whisk well before using. Cooked crepes can be stacked with parchment between them and refrigerated for 2 days. Rewarm briefly in a skillet over medium-low or covered in a 200°F (95°C) oven.
To store leftovers: Assembled ham-and-cheese crepes keep best without the fried egg. Refrigerate wrapped or in an airtight container for up to 2 days. Reheat gently in a skillet over medium-low until hot and the cheese is melty. Fry fresh eggs just before serving.
Freezing: Freeze cooked (unfilled) crepes with parchment between layers for up to 2 months. Thaw overnight in the fridge, then warm in a skillet.
Nutrition (per serving)
Approximate, per serving (2 crepes filled with ham and Gruyère + 1 fried egg): 640 calories, 34 g protein, 38 g fat, 40 g carbohydrates, 2 g fiber, 5 g sugar, 1200 mg sodium.
