There’s something about croissants that feels fancy, even when you’re standing in your kitchen in pajamas. Maybe it’s all that buttery, flaky goodness. Or maybe it’s because they remind me of that one trip to Paris I keep meaning to take. Either way, when I discovered I could turn them into a breakfast bake, I knew I had found my new go-to for weekend mornings.
This ham and cheese croissant bake is what happens when you take all the good parts of a French breakfast and make it work for a crowd. I’m talking torn croissants soaked in a creamy custard, layered with gruyere and ham, and baked until golden. It’s the kind of dish that looks like you tried really hard, but honestly, most of the work is just tearing bread and whisking eggs.
The best part? You can make this the night before and just pop it in the oven when you wake up. No standing over a stove flipping individual croissant sandwiches while everyone hovers around asking when breakfast will be ready. Just one pan, minimal effort, and you still get to feel like a breakfast hero.
Why You’ll Love This Breakfast Bake
- Perfect for feeding a crowd – This breakfast bake serves multiple people at once, making it ideal for holiday mornings, brunch gatherings, or when you have overnight guests.
- Make-ahead friendly – You can assemble this the night before and just pop it in the oven in the morning, giving you more time to enjoy your coffee and company.
- Buttery, flaky croissants – Using croissants instead of regular bread takes this breakfast casserole to the next level with their rich, tender texture that soaks up all the creamy custard.
- Restaurant-quality flavors at home – The combination of gruyere cheese, fresh herbs, and dijon mustard gives you that fancy brunch experience without leaving your kitchen or spending a fortune.
- Satisfying and filling – With protein-packed eggs and ham plus those buttery croissants, this dish keeps everyone full and happy all morning long.
What Kind of Croissants Should I Use?
For this breakfast bake, you’ll want to use day-old or slightly stale croissants if you can get them. Fresh croissants from the bakery section work great, but if they’re super fresh and soft, just leave them out on the counter overnight to dry out a bit. This helps them soak up all that custard mixture without getting too soggy. You can use plain butter croissants or even leftover croissants you have sitting around – they don’t need to be fancy. If your croissants are on the smaller side, you might need an extra one or two to fill your baking dish properly.
Options for Substitutions
This breakfast bake is pretty forgiving when it comes to swaps:
- Croissants: Croissants are really what make this dish special, so I’d recommend sticking with them. If they’re stale, even better – they’ll soak up the custard nicely. In a pinch, brioche or challah bread can work, but you’ll lose that buttery, flaky texture.
- Gruyere cheese: Gruyere adds a nutty flavor, but Swiss cheese is a close substitute. You can also try sharp cheddar or a mix of cheeses you have on hand.
- Ham: Cooked bacon, breakfast sausage, or turkey can replace the ham. If using raw sausage, cook it completely before adding it to the bake.
- Half and half: You can use whole milk for a lighter version, or mix equal parts heavy cream and milk if you don’t have half and half. The custard might be slightly less rich with just milk.
- Fresh herbs: If you don’t have fresh thyme and sage, use about 1 teaspoon dried thyme and 2 teaspoons dried sage instead. Dried herbs are more concentrated, so you’ll need less.
- Dijon and whole grain mustard: If you only have one type of mustard on hand, just use 2 tablespoons of whichever you have. Yellow mustard works too, though it’s milder.
Watch Out for These Mistakes While Baking
The biggest mistake with this breakfast bake is not toasting the croissant pieces before assembling – dry, lightly toasted croissants absorb the custard better without becoming mushy, so spread them on a baking sheet and toast at 350°F for about 5-7 minutes.
Another common error is pouring all the custard mixture at once, which can create uneven soaking – instead, pour half the mixture over the croissants, let it sit for a few minutes, then add the rest to ensure every piece gets properly coated.
Since Gruyere can become greasy when overheated, save about half a cup to sprinkle on top during the last 15 minutes of baking rather than mixing it all in from the start.
Finally, resist the urge to cut into the casserole right away – letting it rest for 10-15 minutes after baking allows the custard to set up properly, making it much easier to slice and serve without everything falling apart.
What to Serve With Ham and Cheese Croissant Breakfast Bake?
This breakfast bake is pretty filling on its own, so I like to keep the sides simple and fresh. A light fruit salad with berries, melon, and grapes is perfect for balancing out the richness of the croissants and cheese. You could also serve it with a simple arugula salad tossed with lemon juice and olive oil, which adds a nice peppery bite. If you’re feeding a crowd for brunch, consider adding some crispy bacon or breakfast sausage on the side, along with fresh orange juice or mimosas to round out the meal.
Storage Instructions
Store: Leftover breakfast bake keeps really well in the fridge for up to 4 days. Just cover it tightly with foil or transfer individual portions to airtight containers. It makes for an easy grab-and-go breakfast throughout the week!
Make Ahead: This is one of those perfect make-ahead dishes. You can assemble the entire casserole the night before, cover it with plastic wrap, and keep it in the fridge overnight. In the morning, just remove the plastic, let it sit at room temperature while your oven preheats, and bake as directed.
Reheat: To warm up leftovers, cover with foil and reheat in a 350°F oven for about 15-20 minutes until heated through. You can also microwave individual portions for 1-2 minutes, though the oven keeps the croissants a bit more crispy on top.
| Preparation Time | 30-40 minutes |
| Cooking Time | 40-45 minutes |
| Total Time | 70-85 minutes |
| Level of Difficulty | Medium |
| Servings | 8 servings |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 4750-5050
- Protein: 180-200 g
- Fat: 310-340 g
- Carbohydrates: 300-325 g
Ingredients
For the casserole:
- 1 yellow onion (diced into 1/4-inch pieces)
- 1 tbsp fresh thyme (leaves only, finely chopped)
- 4 tbsp unsalted butter
- 10 large croissants (day-old or slightly stale works best)
- 2 cups shredded gruyere cheese (I use Emmi brand for superior melting)
- 2 tbsp fresh sage (roughly chopped for easier distribution)
- 6 oz sliced ham (about 8-10 slices)
For the custard:
- 1 tbsp Dijon mustard
- 1/8 tsp freshly grated nutmeg (much better flavor than pre-ground)
- 6 eggs (room temperature for better incorporation)
- 1 tbsp whole grain mustard (adds subtle texture and flavor)
- 2.5 cups half and half (or use equal parts heavy cream and whole milk)
- 1.5 tsp kosher salt
- 0.5 tsp ground black pepper
For serving (optional):
- minced chives (optional, adds fresh onion flavor and color)
- hollandaise sauce (optional but recommended for extra richness)
Step 1: Prepare the Croissants and Build the Flavor Base
- 10 large croissants
- 4 tbsp unsalted butter
- 1 yellow onion
- 1 tbsp fresh thyme
- 2 tbsp fresh sage
Start by tearing the croissants into bite-sized pieces and spreading them on a baking sheet.
Place the sheet in a 250°F oven for 40 minutes to gently dry them out—this prevents the bake from becoming soggy and helps the custard absorb evenly without the croissants falling apart.
While the croissants dry, melt the butter in a skillet over medium heat and add the diced onion, cooking for 2-3 minutes until softened and fragrant.
Add the fresh thyme and sage, cooking another 2-3 minutes to release their essential oils and develop deeper flavors.
This early aromatics step builds the foundation of the dish.
Set the cooked mixture aside.
Step 2: Assemble the Layers
- dried croissants from Step 1
- 6 oz sliced ham
- 2 cups shredded gruyere cheese
- cooked onion and herb mixture from Step 1
Grease a 9×13 baking pan with butter or cooking spray.
Create the first layer by arranging half of the dried croissants from Step 1 on the bottom of the pan, breaking them into smaller pieces as needed to ensure even coverage.
Top this with half the sliced ham, then sprinkle half the shredded gruyere cheese over the ham.
Scatter the cooked onion and herb mixture from Step 1 evenly across this layer.
Add the remaining croissants on top, followed by the remaining ham slices and gruyere cheese.
I like to tear the ham into smaller pieces rather than leaving full slices—it distributes better throughout the bake and creates more pockets of flavor in each bite.
Step 3: Prepare the Custard Mixture and Soak
- 6 eggs
- 2.5 cups half and half
- 1 tbsp Dijon mustard
- 1 tbsp whole grain mustard
- 1/8 tsp freshly grated nutmeg
- 1.5 tsp kosher salt
- 0.5 tsp ground black pepper
In a large bowl, whisk together the room-temperature eggs, half and half, Dijon mustard, whole grain mustard, freshly grated nutmeg, kosher salt, and black pepper until completely smooth and well combined.
The room-temperature eggs incorporate more smoothly and create a more uniform custard.
Pour this mixture slowly and evenly over the layered croissants, ham, and cheese in the baking pan.
Using the back of a spatula or wooden spoon, gently press down on the croissants to help them absorb the custard—you want them saturated but not crushed.
Let the assembled bake sit at room temperature for 30 minutes before baking, allowing the croissants to fully absorb the custard and the flavors to meld together.
Step 4: Bake and Finish
- assembled bake from Step 3
- minced chives
- hollandaise sauce
Preheat your oven to 350°F.
Once preheated and the 30-minute soak is complete, place the baking pan in the oven and bake for 40-45 minutes, until the top is golden brown and the custard is set but still slightly jiggly in the very center—this ensures the interior stays moist and creamy.
Remove from the oven and let rest for 5-10 minutes before serving.
Garnish with fresh minced chives if desired for a pop of color and fresh onion flavor.
If you want to elevate this dish, drizzle warm hollandaise sauce over individual servings just before eating for extra richness and a restaurant-quality finish.

Gruyere Ham and Cheese Croissant Breakfast Bake
Ingredients
For the casserole:
- 1 yellow onion (diced into 1/4-inch pieces)
- 1 tbsp fresh thyme (leaves only, finely chopped)
- 4 tbsp unsalted butter
- 10 large croissants (day-old or slightly stale works best)
- 2 cups shredded gruyere cheese (I use Emmi brand for superior melting)
- 2 tbsp fresh sage (roughly chopped for easier distribution)
- 6 oz sliced ham (about 8-10 slices)
For the custard:
- 1 tbsp Dijon mustard
- 1/8 tsp freshly grated nutmeg (much better flavor than pre-ground)
- 6 eggs (room temperature for better incorporation)
- 1 tbsp whole grain mustard (adds subtle texture and flavor)
- 2.5 cups half and half (or use equal parts heavy cream and whole milk)
- 1.5 tsp kosher salt
- 0.5 tsp ground black pepper
For serving (optional):
- minced chives (optional, adds fresh onion flavor and color)
- hollandaise sauce (optional but recommended for extra richness)
Instructions
- Start by tearing the croissants into bite-sized pieces and spreading them on a baking sheet. Place the sheet in a 250°F oven for 40 minutes to gently dry them out—this prevents the bake from becoming soggy and helps the custard absorb evenly without the croissants falling apart. While the croissants dry, melt the butter in a skillet over medium heat and add the diced onion, cooking for 2-3 minutes until softened and fragrant. Add the fresh thyme and sage, cooking another 2-3 minutes to release their essential oils and develop deeper flavors. This early aromatics step builds the foundation of the dish. Set the cooked mixture aside.
- Grease a 9x13 baking pan with butter or cooking spray. Create the first layer by arranging half of the dried croissants from Step 1 on the bottom of the pan, breaking them into smaller pieces as needed to ensure even coverage. Top this with half the sliced ham, then sprinkle half the shredded gruyere cheese over the ham. Scatter the cooked onion and herb mixture from Step 1 evenly across this layer. Add the remaining croissants on top, followed by the remaining ham slices and gruyere cheese. I like to tear the ham into smaller pieces rather than leaving full slices—it distributes better throughout the bake and creates more pockets of flavor in each bite.
- In a large bowl, whisk together the room-temperature eggs, half and half, Dijon mustard, whole grain mustard, freshly grated nutmeg, kosher salt, and black pepper until completely smooth and well combined. The room-temperature eggs incorporate more smoothly and create a more uniform custard. Pour this mixture slowly and evenly over the layered croissants, ham, and cheese in the baking pan. Using the back of a spatula or wooden spoon, gently press down on the croissants to help them absorb the custard—you want them saturated but not crushed. Let the assembled bake sit at room temperature for 30 minutes before baking, allowing the croissants to fully absorb the custard and the flavors to meld together.
- Preheat your oven to 350°F. Once preheated and the 30-minute soak is complete, place the baking pan in the oven and bake for 40-45 minutes, until the top is golden brown and the custard is set but still slightly jiggly in the very center—this ensures the interior stays moist and creamy. Remove from the oven and let rest for 5-10 minutes before serving. Garnish with fresh minced chives if desired for a pop of color and fresh onion flavor. If you want to elevate this dish, drizzle warm hollandaise sauce over individual servings just before eating for extra richness and a restaurant-quality finish.


