Skip to content
Home » Bacon, Potato, Cheese & Egg Casserole That Stays Creamy (Not Soggy) — Even Overnight

Bacon, Potato, Cheese & Egg Casserole That Stays Creamy (Not Soggy) — Even Overnight

Creamy bacon, potato, cheese, and egg casserole with golden top, bubbly cheese, and crispy bacon bits.

The biggest problem with most breakfast casseroles isn’t the cheese or the eggs. It’s the potatoes. They either come out hard as rocks or waterlogged and mushy. Every Christmas morning, my grandmother Marta had this casserole waiting, and the potatoes were always perfect — tender, creamy, with just a little crisp at the edges. The secret wasn’t magic. It was how she treated the potatoes before they ever saw the egg custard.

The short version: Par-boil the potatoes, crisp the bacon, and let the whole thing rest overnight for a casserole that’s creamy, never soggy.

I’ve made this recipe about forty times now — for Christmas brunch, Easter morning, and plenty of lazy Sundays when we had people sleeping over. It’s the one dish I can put together in 30 minutes the night before, and wake up to a kitchen that smells like bacon and home.

At-A-Glance

  • Serves: 8–10 as a main dish
  • Hands-On Time: 30 min | Total Time: 1 hour 15 min (or overnight + 1 hour)
  • Difficulty: Easy — a little knife work, nothing complicated
  • Cost per serving: ~$2.50
  • Calories: ~420 per serving
  • Dietary Notes: Gluten-free (if using certified GF bread)

(Photo above: overhead shot of the finished casserole in a white ceramic baking dish, cut into squares, with crispy bacon bits and golden cheese on top, steam rising gently, set on a wooden farmhouse table with a fork resting beside it.)

Why This Casserole Works (And Others Fall Apart)

Layers of crispy bacon, sliced potatoes, shredded cheese, and beaten eggs in a casserole dish before baking, promising a creamy, non-soggy texture.

Par-cooking the potatoes is the non-negotiable step. Boiling them for exactly five minutes before assembling releases excess starch and ensures they turn tender in the oven. Skip this, and you end up with hard, crunchy potatoes that never fully cook through. Or worse — they release water into the custard and make everything soupy.

Pre-crisping the bacon keeps the eggs creamy. You want the fat rendered out before it goes into the dish. That way the bacon stays salty and chewy-crisp, and the custard stays rich without being greasy.

Marta’s secret was a pinch of nutmeg and a spoonful of Dijon mustard. I know — it sounds weird for a breakfast casserole. But it doesn’t taste like mustard or nutmeg. It just makes the eggs taste more like themselves, deeper and rounder.

The overnight rest is what makes it perfect. Every bite of bread soaks up that custard. The flavors meld. The texture becomes one unified, creamy slice. It’s the difference between a good casserole and a great one.

Ingredients Worth Talking About (Plus My Honest Notes)

  • 1.5 lbs Yukon Gold potatoes (about 3 medium): Yukon Golds stay creamy and hold their shape. Russets work, but they get softer. Red potatoes are fine, but peel them — the skins get tough. My kids actually prefer Yukon Gold because they’re buttery without any extra butter.
  • 1 lb thick-cut bacon: Thick-cut holds its texture and doesn’t disappear into the casserole. Regular bacon works too, but use a full pound. Applewood-smoked is our go-to.
  • 12 large eggs: Farm-fresh if you can get them. The color of the yolk tells you everything about the richness of the custard.
  • 8 oz sharp cheddar, grated: Grate it yourself. Pre-shredded cheese has anti-caking agents that stop it from melting into that long, stretchy ribbon. I use a sharp white cheddar, but yellow is fine.
  • 2 cups whole milk or half-and-half: Don’t use skim. The fat is what keeps the eggs tender and the custard creamy.
  • 1 tbsp Dijon mustard: The secret ingredient. You won’t taste mustard — you’ll just wonder why your casserole tastes more “breakfasty.”
  • 1/4 tsp freshly grated nutmeg: Marta’s trick. It rounds out the richness. Pre-ground is fine, but fresh has a warmth that’s hard to beat.
  • 4 cups day-old sourdough or brioche, cubed: Day-old bread soaks up the custard without dissolving into paste. Fresh bread works, but it gets gummy. Toast it if that’s all you have.
  • 1 medium onion, diced
  • 2 cloves garlic, minced
  • Salt and pepper to taste

What to Pull Out Before You Start

  • 9×13 baking dish (metal gives crispier edges, glass works fine)
  • Large skillet (for bacon and potatoes)
  • Large mixing bowl (for the eggs)
  • Box grater
  • Chef’s knife + cutting board

Let’s Make It (Step by Step)

This comes together in layers. Think of it like building a breakfast lasagna — every layer gets a little egg, a little cheese, a little bacon.

Prep the potatoes and bacon: Get these going before you do anything else.

  1. Par-boil the potatoes: Peel and dice the potatoes into 1/2-inch cubes. Drop them into a pot of salted boiling water for exactly 5 minutes. They should be just barely tender when poked with a fork. Drain and let them steam dry in a colander. (📸 Photo tip: You want cubes that are fork-tender but not falling apart — they should hold their shape when you lift them.)
  2. Crisp the bacon: While the potatoes boil, cook the bacon in a large skillet over medium heat until it’s crisp. Transfer to a paper towel-lined plate. Once cool, crumble it. Leave about 2 tablespoons of the rendered fat in the skillet.
  3. Sauté the aromatics: Toss the diced onion into the bacon fat. Cook over medium heat until soft and translucent, about 5 minutes. Add the minced garlic and cook for 30 seconds until fragrant. Set aside to cool slightly.
  4. Build the custard: In your large bowl, whisk together the 12 eggs, 2 cups milk, 1 tbsp Dijon, 1/2 tsp salt, 1/2 tsp pepper, and 1/4 tsp nutmeg. Whisk until it’s completely uniform — no streaks of white left.
  5. Assemble the casserole: Spread the cubed bread across the bottom of your greased 9×13 dish. Layer the par-cooked potatoes, the sautéed onions, and about half the crumbled bacon over the top. Pour the egg custard evenly over everything. Press down gently with a spatula to make sure every piece of bread and potato gets soaked. Sprinkle the grated cheese over the top, followed by the remaining bacon.
  6. Rest (overnight is best): Cover tightly with foil and refrigerate for at least 1 hour, or up to 24 hours. This is the step that makes the texture perfect — the bread absorbs the custard and the flavors meld. (📸 Photo tip: You’ll know it’s ready when you press the top and liquid doesn’t pool. It should look uniformly moist, not soupy.)
  7. Bake and rest: Preheat the oven to 350°F. Bake uncovered for 50–60 minutes. The top should be golden brown and puffed. The center should be just set — a knife inserted in the middle should come out clean. Let it rest for 10 minutes before slicing. This is the hardest part of the recipe, but it matters. The casserole finishes setting as it rests, and you’ll get clean, beautiful slices.

How I Meal Prep This for the Week

This casserole is a lifesaver on busy mornings. I make it on Sunday, bake it, and we eat it for breakfast Monday through Wednesday. My secret? I wrap individual squares in foil so the kids can grab one from the fridge on school mornings.

  • Fridge: Store cooled, baked casserole tightly covered for up to 4 days. Reheat individual squares in the microwave for 60–90 seconds, or in a 350°F oven for 15 minutes.
  • Freezer: Bake it, let it cool completely, then wrap the whole dish tightly in plastic wrap and foil. Freeze for up to 3 months. Thaw overnight in the fridge before reheating.
  • Reheat: The microwave is fine for a quick breakfast, but the oven brings back the crispy edges. If I’m reheating the full dish, I do 325°F for 20 minutes covered, then 10 minutes uncovered.

Things I Wish I’d Known the First Time

  1. Don’t skip the par-boil. I know it’s an extra step and it means washing one more pot. But it’s the difference between potatoes that are perfectly tender and potatoes that are crunchy or chalky. Five minutes in boiling water changes everything. Even if you mess up the timing a little, it’ll still be good — I’ve done it.
  2. Let it rest after baking. I cannot stress this enough. A casserole that goes straight from the oven to the table will fall apart when you cut into it. Ten minutes lets the eggs relax and the structure set. Your slices will be clean and beautiful.
  3. Use stale bread. If you don’t have day-old bread, cube your fresh bread and spread it on a baking sheet in a 300°F oven for 10 minutes. It dries it out just enough to soak up the custard without turning into paste.
  4. Customize your add-ins. I keep the base simple, but I’ve added sautéed mushrooms, roasted red peppers, or cooked breakfast sausage to different versions. Just make sure any wet ingredients are cooked down and not dripping water into the custard.

Swaps That Actually Work

  • Dairy-Free: Use unsweetened oat milk and a well-melting vegan cheddar. I’ve done this for my nephew who can’t do dairy, and he loves it. It’s a little less rich, but still really good.
  • Gluten-Free: Use a sturdy gluten-free sourdough. The rest of the ingredients are naturally gluten-free. I make this for my friend Sarah every year.
  • Veggie-Packed: Add 2 cups of sautéed spinach (drained well) or a layer of roasted sweet potatoes instead of regular potatoes. My kids actually prefer the sweet potato version — it’s slightly sweet against the salty bacon.
  • Kid-Friendly: My kids prefer this with mild cheddar and no onions. I just leave the onions out and add a little extra salt. It’s still incredibly good.
  • Using Frozen Hash Browns: Yes, you can skip the fresh potatoes entirely. Use a 24-ounce bag of frozen shredded hash browns. Thaw them completely and squeeze out every drop of water with a clean kitchen towel. Skip the par-boil step and layer them in raw.

Questions I Get About This Casserole All the Time

Q: Why did my casserole turn out watery?
A: Ugh, I’ve been there. The main culprits are: 1) Not draining the potatoes well after par-boiling, or 2) Using frozen hash browns that weren’t thawed and squeezed dry. Make sure your potatoes are steamy and dry before they go into the dish. You’ve got this next time.

Q: Can I assemble this the night before and bake it in the morning?
A: Absolutely, and I actually recommend it. Assemble everything completely, cover it, and let it rest in the fridge for up to 24 hours. The next morning, just take it out of the fridge while the oven preheats (about 30 minutes), then bake as directed. It’s the ultimate holiday breakfast move.

Q: How long does this last in the fridge? Can I freeze it?
A: It keeps well in the fridge for up to 4 days. I wrap individual squares so they’re easy to grab. For the freezer, bake it, cool it completely, wrap tightly in foil, and freeze for up to 3 months. Thaw overnight in the fridge. The microwave works in a pinch, but the oven keeps it crispy.

Q: What do you serve with this casserole for a holiday brunch?
A: I love serving this with a bright fruit salad — the acidity cuts through the richness. Roasted asparagus is another favorite. And if we’re feeling indulgent, I make a batch of cinnamon rolls. My kids love it with a little maple syrup drizzled right on top — don’t knock it until you try it!

More Recipes My Family Makes on Repeat

If this casserole is a hit at your table (and I know it will be), here are a few other breakfasts and brunch dishes that get the same reaction in our kitchen:

  • [INTERNAL LINK PLACEHOLDER: My Grandmother’s Fluffy Buttermilk Pancakes] — Tangy, tender, and melt in your mouth.
  • [INTERNAL LINK PLACEHOLDER: Easy Sausage and Egg Breakfast Tacos] — Ready in 15 minutes, perfect for school mornings.
  • [INTERNAL LINK PLACEHOLDER: Cinnamon Sugar Baked Donuts] — Tastes like a bakery treat, but you make them in one bowl.

This casserole is the one I turn to when I want to feed people well without spending the whole morning in the kitchen. It’s forgiving, it’s flexible, and it tastes like the kind of breakfast you remember.

If you make it, let me know! Drop a comment below or tag me on Pinterest — I love seeing your breakfast tables.

📌 Save this overnight breakfast casserole with bacon, potatoes, and cheese for your next holiday brunch or lazy Sunday morning — it’s the one that stays creamy every time!

Creamy bacon, potato, cheese, and egg casserole with golden top, bubbly cheese, and crispy bacon bits.

Bacon, Potato, Cheese & Egg Casserole

This make-ahead breakfast casserole with bacon, potatoes, and cheese stays creamy and never soggy. Par-boil the potatoes and let it rest overnight for the perfect holiday brunch dish.
Prep Time 30 minutes
Cook Time 45 minutes
Total Time 1 hour 15 minutes
Course Breakfast, Brunch
Cuisine American
Servings 8
Calories 420 kcal

Equipment

  • 9×13 Baking Dish
  • Large Skillet
  • Large Mixing Bowl
  • Box Grater
  • Chef’s Knife
  • Cutting Board

Ingredients
  

  • 1.5 lbs Yukon Gold potatoes (about 3 medium)
  • 1 lb thick-cut bacon
  • 12 large eggs
  • 8 oz sharp cheddar, grated
  • 2 cups whole milk or half-and-half
  • 1 tbsp Dijon mustard
  • 1/4 tsp freshly grated nutmeg
  • 4 cups day-old sourdough or brioche, cubed
  • 1 medium onion, diced
  • 2 cloves garlic, minced
  • Salt and pepper to taste

Instructions
 

  • Par-boil the potatoes: Peel and dice the potatoes into 1/2-inch cubes. Drop them into a pot of salted boiling water for exactly 5 minutes. They should be just barely tender when poked with a fork. Drain and let them steam dry in a colander.
  • Crisp the bacon: While the potatoes boil, cook the bacon in a large skillet over medium heat until it’s crisp. Transfer to a paper towel-lined plate. Once cool, crumble it. Leave about 2 tablespoons of the rendered fat in the skillet.
  • Sauté the aromatics: Toss the diced onion into the bacon fat. Cook over medium heat until soft and translucent, about 5 minutes. Add the minced garlic and cook for 30 seconds until fragrant. Set aside to cool slightly.
  • Build the custard: In your large bowl, whisk together the 12 eggs, 2 cups milk, 1 tbsp Dijon, 1/2 tsp salt, 1/2 tsp pepper, and 1/4 tsp nutmeg. Whisk until it’s completely uniform – no streaks of white left.
  • Assemble the casserole: Spread the cubed bread across the bottom of your greased 9×13 dish. Layer the par-cooked potatoes, the sautéed onions, and about half the crumbled bacon over the top. Pour the egg custard evenly over everything. Press down gently with a spatula to make sure every piece of bread and potato gets soaked. Sprinkle the grated cheese over the top, followed by the remaining bacon.
  • Rest (overnight is best): Cover tightly with foil and refrigerate for at least 1 hour, or up to 24 hours. This is the step that makes the texture perfect – the bread absorbs the custard and the flavors meld.
  • Bake and rest: Preheat the oven to 350°F. Bake uncovered for 50–60 minutes. The top should be golden brown and puffed. The center should be just set – a knife inserted in the middle should come out clean. Let it rest for 10 minutes before slicing.

Notes

Don’t skip the par-boil. It’s the key to creamy potatoes. Let the casserole rest after baking for clean slices. For overnight, assemble up to 24 hours in advance. Store leftovers in the fridge for up to 4 days or freeze for 3 months. Reheat in the oven for crispy edges.
Keyword bacon potato egg casserole, holiday breakfast, overnight casserole

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating