Loading…

By Reading time

Puffed croissants, jammy onions, and a bronzed layer of melted Gruyère turn this breakfast casserole into something that feels a little dramatic in the best way. The edges set into a rich custard, the center stays tender, and every bite tastes like French onion soup decided to show up at brunch. It’s the kind of dish people keep going back to before they’ve even finished the first serving.

The key is giving the onions enough time to fully caramelize. Forty-five minutes is not an exaggeration here. They need to turn soft, sweet, and almost spreadable before they go into the dish, and the broth deglazing pulls every bit of flavor off the pan and back into the filling. The croissants matter too: their butteriness soaks up the custard without turning dense, which is why this casserole feels luxurious instead of heavy.

Below, I’ll walk through the one part that can’t be rushed, the ingredient swaps that still keep the dish on track, and the finish that gives you that deep golden crust on top. If you’ve ever wanted a brunch casserole that tastes as good as it looks when it comes out of the oven, this is the one.

The onions cooked down into this sweet, jammy layer and the Gruyère formed the best crust on top. I let it rest for 15 minutes and the slices held together perfectly.

★★★★★— Megan L.

Love that bronzed Gruyère crust and the French onion center? Save this breakfast casserole for the brunches when you want something rich, savory, and worth the onion time.

Save to Pinterest

The Onion Jam Has to Happen Before Anything Else

If the onions are pale, the whole casserole tastes flat. Caramelizing them slowly until they turn deep gold and sticky is what gives the dish its backbone, and it’s the one step that separates this from a basic egg bake. The broth added at the end doesn’t just deglaze the pan; it captures that concentrated onion sweetness and keeps the filling from tasting dry or one-note.

The other common mistake is treating the croissants like bread cubes. They’re softer and richer than regular bread, so they need enough custard to soak in but not so much that they collapse into mush. That’s why the rested casserole bakes up with structure at the edges and a soft, savory middle.

What Each Ingredient Is Actually Doing in This Dish

French Onion Breakfast Casserole golden cheesy, savory
  • Croissants — Their buttery layers absorb the egg mixture without turning heavy. Day-old croissants work best because they hold their shape a little better, but fresh ones are fine if you tear them into generous chunks.
  • Yellow onions — This is the flavor base. No quick sauté can replace the sweetness and depth you get from a true slow caramelization, so don’t cut that time short.
  • Broth — A splash of broth loosens the onion fond in the pan and builds a savory layer that plain butter can’t give you. Either beef or chicken broth works; use the one you already like the taste of.
  • Gruyère and Swiss — Gruyère gives the nutty, melty crust, while Swiss helps round out the finish without making the top greasy. If you need a swap, use an all-Gruyère top or replace Swiss with fontina for a similar melt.
  • Eggs and whole milk — These set the casserole into a soft custard. Whole milk gives a richer texture than low-fat milk; if you use half-and-half, the casserole turns even more luxurious.
  • Dijon and thyme — Dijon sharpens the richness and thyme ties the onions and cheese together. Fresh thyme tastes cleaner here, but dried thyme works in a pinch if you use less.

Building the Casserole So the Custard Sets Cleanly

Caramelizing the onions low and slow

Cook the sliced onions in butter over medium-low heat until they turn deep golden and collapse into a jammy mass. They should smell sweet, not sharp, and the bottom of the pan will start to pick up dark browned bits. If you crank the heat, they’ll brown too fast on the outside and stay harsh in the middle, which throws off the whole dish.

Layering the croissants and onion mixture

Grease the baking dish, add the torn croissant chunks, and spread the onion mixture through the layers instead of leaving it on top. That keeps the flavor from sitting in one heavy pocket. You want visible ribbons of onions throughout the casserole, with some pieces tucked down between the bread so every slice picks up the same savory bite.

Whisking the custard and letting it rest

Whisk the eggs, milk, Dijon, thyme, salt, and pepper until the mixture looks smooth and even, then pour it over the croissants slowly so it can sink in. Press the top lightly if needed, but don’t mash it down. The rest time is what gives the bread time to drink up the custard; if you bake it right away, the center stays dry while the edges overcook.

Baking until puffed, then finishing with heat

Bake until the casserole is puffed, set around the edges, and deeply golden across the top. The middle should still have a slight wobble when you give the pan a gentle shake. A short broil at the end creates that bronzed cheese crust, but keep your eyes on it because the line between perfect and scorched is only a minute or two.

How to Adapt This for a Different Crowd or Diet

Gluten-Free Version

Swap the croissants for a sturdy gluten-free brioche-style bread if you can find it, or use a firm gluten-free loaf cut into large chunks. The texture won’t be quite as flaky, but the custard and onion filling still give you the same savory payoff.

Dairy-Free Adaptation

Use a plant-based butter for the onions, unsweetened oat milk for the custard, and a good dairy-free melting cheese if you want the top to brown. The casserole will be a little less rich, but the onions still carry a lot of the flavor on their own.

Make It Meaty

Add a layer of cooked bacon or browned breakfast sausage under the onions if you want more heft. Keep the amount modest so the casserole stays centered on the onion-and-cheese flavor instead of turning into a standard meat bake.

Storage and Reheating

  • Refrigerator: Store covered for up to 4 days. The croissants soften a little more as it sits, but the flavor gets deeper.
  • Freezer: It freezes well in individual portions once fully baked. Wrap tightly and freeze for up to 2 months, then thaw in the fridge before reheating.
  • Reheating: Warm covered in a 325°F oven until heated through. The mistake is blasting it in the microwave, which turns the eggs rubbery and makes the top greasy instead of crisp.

Questions I Get Asked About This Recipe

Can I assemble this breakfast casserole the night before?+

Yes, and that rest time helps the croissants soak up the custard. Cover it tightly and refrigerate overnight, then bake it straight from the fridge while adding a few extra minutes if the center still feels cold. The top should be puffed and the middle just set.

How do I keep the onions from tasting bitter?+

Cook them slowly over medium-low heat and give them time to turn sweet before adding the broth. Bitter onions usually mean the pan was too hot and the edges browned before the center softened. Stir often, lower the heat if needed, and let patience do the work.

Can I use regular bread instead of croissants?+

You can, but the casserole won’t have the same buttery, layered texture. Use a sturdy loaf like challah or brioche if you want a closer result, and let it dry out a bit first so it doesn’t collapse under the custard. Soft sandwich bread tends to go pasty.

How do I know when the casserole is done baking?+

Look for a deeply golden top, puffed edges, and a center that jiggles only slightly when you nudge the pan. If the middle still sloshes, it needs more time. The casserole continues setting as it rests, so don’t wait for it to look bone-dry in the oven.

Can I reheat leftovers without losing the crust?+

Yes. Reheat it in the oven, not the microwave, so the top stays browned instead of softening into a damp layer. A covered 325°F oven brings it back gently, and you can uncover it for the last few minutes if you want the cheese to crisp again.

Breakfast Casserole

Breakfast casserole with caramelized onion jam, torn croissant chunks, and a bubbly Gruyère cheese crust. Slow-cooked onions create deep, jammy ribbons through the cut edge, while eggs and milk bake into a puffed, golden-bronze top.
Prep Time 1 hour 15 minutes
Cook Time 47 minutes
resting 2 hours
Total Time 4 hours 2 minutes
Servings: 8 servings
Course: Breakfast
Cuisine: French
Calories: 470

Ingredients
  

croissants
  • 4 croissants torn into chunks
yellow onions
  • 4 yellow onions thinly sliced (caramelize until jammy)
butter
  • 2 tbsp butter for caramelizing onions
beef or chicken broth
  • 1 cup beef or chicken broth for deglazing and soaking
eggs
  • 6 eggs
whole milk
  • 1.5 cup whole milk
Gruyère
  • 1 cup Gruyère divided; 1 cup for sprinkling, plus remaining for topping
Swiss
  • 0.5 cup Swiss shredded
thyme
  • 1 tbsp fresh thyme plus extra for garnish
Dijon mustard
  • 1 tsp Dijon mustard
salt
  • 0.25 tsp salt to taste; season the egg mixture
black pepper
  • 0.25 tsp black pepper to taste; season the egg mixture
fresh thyme
  • 1 fresh thyme to garnish

Equipment

  • 1 sheet pan
  • 1 9x13 baking dish

Method
 

Caramelize the onion jam
  1. Melt butter in a skillet over medium-low heat and add sliced onions, cooking 40–45 minutes until deep golden and jammy, stirring occasionally and keeping the heat low to avoid burning.
  2. Add broth to the pan and deglaze, scraping up browned bits until the mixture is smooth and glossy, about 1–2 minutes.
Assemble the casserole
  1. Grease a 9x13 baking dish, then layer torn croissant chunks in an even layer.
  2. Spread the caramelized onion jam throughout the croissants, aiming for a visible ribbon-like layer across the dish.
  3. Sprinkle 1 cup Gruyère evenly over the onions.
Make the egg custard
  1. In a bowl, whisk eggs, milk, Dijon mustard, fresh thyme, salt, and black pepper until fully combined and lightly foamy.
  2. Pour the egg mixture over the croissant-onion layer so it soaks down into the chunks.
  3. Top with the remaining Gruyère and the shredded Swiss to cover the surface.
Chill
  1. Refrigerate the casserole 2+ hours or overnight, uncovered if possible, until the custard sets slightly and the croissants absorb the liquid.
Bake and finish
  1. Bake at 350°F for 45 minutes until puffed and deeply golden across the top.
  2. Broil for 2 minutes to intensify browning and form a deeper cheese crust.
  3. Garnish with fresh thyme right before serving for a fresh, aromatic finish.

Notes

Pro tip: don’t rush the onion caramelization—45 minutes is the minimum for true jamny sweetness and that French onion soup flavor. Refrigerate leftovers up to 3 days; reheat covered at 325°F until warmed through. Freezing is not recommended because the croissant texture can soften after thawing. For a lighter option, use whole milk or a 2% dairy alternative and reduce the cheese slightly without changing the bake time.
About the author
Claudia