Third Christmas morning in a row I made this casserole, and this time I finally wrote down the exact measurements instead of just eyeballing everything. The first year I used too much milk and ended up with something closer to savory bread pudding soup. Not ideal when you have extended family hovering around the kitchen at 7 AM, coffee cups in hand, pretending to be patient. But that soggy mess taught me something important about liquid ratios and overnight soaking.
The second attempt was better—firmer, more structured, actually sliceable. But it felt dense, like it needed something to break up all that egg-and-bread richness. So I added a layer of roasted red peppers and swapped half the cheddar for smoked gouda. That was the turning point. The third time (this past December) I made it for a crowd of twelve, and my sister-in-law, who never eats seconds of anything, asked for the recipe before she finished her first plate.
Here’s the thing about holiday mornings—they’re chaotic in the best way. Presents to unwrap, coffee to brew, maybe a beef tacos situation for lunch later. The last thing you need is to be cracking eggs and grating cheese while everyone else is having fun. This casserole solves that problem completely. You assemble it the night before, let it rest in the fridge, and bake it the next morning while you sip your coffee and watch the chaos unfold from a safe distance.
It’s not fancy. It’s not complicated. But it’s the kind of recipe that makes you feel like you have your life together, even when you definitely don’t.
Why You’ll Love This Recipe
I’ve tested this casserole more times than I care to admit. Seven times total, across three different ovens, with varying brands of bread and cheese. Here’s what I learned and why I think you’ll love it too.
- Truly Make-Ahead : Assemble it the night before, cover it, and forget about it. No morning-of prep, no dirty dishes while guests are arriving. Just pull it out of the fridge, let it sit on the counter while the oven preheats, and bake.
- Simple Pantry Ingredients : Nothing weird here. Eggs, milk, bread, cheese, breakfast sausage (or bacon), and a few veggies. You probably have most of it already.
- Perfect for Crowds : This recipe serves 8 to 10 people easily. Double it for bigger gatherings. It holds up well on a buffet table too.
- Customizable for Dietary Needs : Swap the bread for gluten-free, use turkey sausage instead of pork, or load it up with extra vegetables. It’s forgiving.
- Better the Next Day : Leftovers reheat beautifully. I’ve eaten this cold out of the fridge at 11 PM and regretted nothing.
What makes this different from other breakfast casseroles? The texture. Most overnight casseroles turn into a mushy, one-note situation. This one stays light and custardy on the inside with crispy, golden edges on top. The secret is using day-old bread that’s slightly stale—it absorbs the egg mixture without disintegrating. Fresh bread turns to paste. Trust me on this one.
Honestly, this recipe became my holiday morning security blanket. Knowing breakfast is handled lets me actually enjoy the morning instead of stressing about whether the eggs are overdone or the biscuits are burning. That peace of mind is worth more than any complicated brunch spread.
What Ingredients You Will Need
This recipe relies on simple, everyday ingredients that come together to create something greater than the sum of their parts. No specialty items, no trips to three different stores. Just good, honest food.
For the Casserole Base
- 1 pound breakfast sausage (I prefer Jimmy Dean’s mild or spicy, depending on mood)
- 1 medium yellow onion, diced (about 1 cup)
- 1 red bell pepper, diced (about 1 cup)
- 8 large eggs, room temperature
- 2 cups whole milk (2% works too, but whole milk gives a creamier texture)
- 1 teaspoon kosher salt
- ½ teaspoon black pepper
- ½ teaspoon garlic powder
- ¼ teaspoon smoked paprika (optional, but adds a nice depth)
For the Bread and Cheese
- 8 cups day-old crusty bread, cut into 1-inch cubes (about 1 large loaf of sourdough or French bread)
- 2 cups shredded sharp cheddar cheese (about 8 ounces)
- 1 cup shredded smoked gouda cheese (about 4 ounces)
- ¼ cup grated Parmesan cheese (for the top)
Optional Add-Ins
- ½ cup roasted red peppers, chopped (adds sweetness and color)
- ¼ cup chopped fresh parsley or chives (for garnish)
- Pinch of red pepper flakes (if you like heat)
Ingredient Notes and Substitutions
The bread choice matters. Sourdough works beautifully because it holds its shape and adds a slight tang that balances the richness. French bread is a close second. Avoid soft sandwich bread—it turns into glue. If you only have fresh bread, cube it and spread it on a baking sheet in a 300°F oven for 10 minutes to dry it out.
For the sausage, bulk breakfast sausage is easiest, but you can use links and just remove the casings. Turkey or chicken sausage works fine, just make sure it’s well-browned. If you want a vegetarian version, use a plant-based sausage or just load up on mushrooms and extra cheese.
The milk-to-egg ratio is critical. Too much milk and you get soup. Too little and it’s dry and eggy. I’ve tested 1¾ cups versus 2 cups and the 2-cup version is noticeably creamier without being loose. Stick with it.
Equipment Needed
You don’t need a professional kitchen to make this casserole. Here’s what you’ll need:
- 9×13-inch baking dish — Glass or ceramic works best. Metal can sometimes react with the eggs and leave a metallic taste. I use a Pyrex dish and it’s never let me down.
- Large skillet — For browning the sausage and sautéing the vegetables. A 12-inch skillet gives you plenty of room.
- Large mixing bowl — For whisking the eggs and milk together. A glass or stainless steel bowl is fine.
- Whisk — A good whisk makes incorporating the eggs and milk effortless. A fork works in a pinch but takes longer.
- Cheese grater — Pre-shredded cheese has anti-caking agents that prevent it from melting smoothly. Grate your own. It takes five minutes and makes a real difference.
- Aluminum foil — For covering the casserole while it bakes and while it rests overnight.
- Plastic wrap or reusable beeswax wrap — For covering the assembled casserole before refrigerating.
Budget-Friendly Alternatives
If you don’t have a 9×13 dish, use two 8×8 square dishes or even a deep-dish pie plate. Just adjust the baking time slightly. A smaller, deeper dish will take longer to cook through. A larger, shallower dish will cook faster. Keep an eye on it.
I’ve made this in a disposable aluminum pan for potlucks and it works perfectly. Just place it on a baking sheet for stability.
Preparation Method

Let’s walk through this step by step. I’ll include time estimates and sensory cues so you know exactly what to look for.
Step 1: Brown the Sausage (10 minutes)
Heat a large skillet over medium-high heat. Add the sausage and break it apart with a wooden spoon. Cook for 6 to 8 minutes, stirring occasionally, until it’s browned and cooked through. You want some crispy bits—those add texture. Use a slotted spoon to transfer the sausage to a plate lined with paper towels. Leave about 1 tablespoon of drippings in the pan.
Step 2: Sauté the Vegetables (5 minutes)
Add the diced onion and bell pepper to the same skillet with the reserved drippings. Cook over medium heat for 4 to 5 minutes, until the onion is translucent and the pepper has softened. You should smell that sweet, savory aroma filling your kitchen. Season with a pinch of salt and pepper. Remove from heat and let cool slightly.
Step 3: Prepare the Bread (5 minutes)
If your bread isn’t already day-old, cube it and spread it on a baking sheet. Toast in a 300°F oven for 8 to 10 minutes, just until dry to the touch. Don’t let it brown. Let it cool completely before using.
Step 4: Whisk the Egg Mixture (5 minutes)
In a large mixing bowl, crack the eggs and whisk until the yolks and whites are fully combined. Add the milk, salt, pepper, garlic powder, and smoked paprika. Whisk until smooth and uniform. The mixture should look pale yellow and slightly frothy on top. Set aside.
Step 5: Assemble the Casserole (10 minutes)
Grease your 9×13 baking dish with butter or nonstick spray. Spread half the bread cubes evenly across the bottom. Top with half the cooked sausage and half the sautéed vegetables. Sprinkle half the cheddar and half the gouda over the top. Repeat the layers: remaining bread, remaining sausage and vegetables, remaining cheddar and gouda.
Pour the egg mixture evenly over the entire casserole. Use a spatula to gently press down on the top, encouraging the liquid to soak into all the bread. Sprinkle the Parmesan cheese over the top. If using roasted red peppers, scatter them now.
Step 6: Refrigerate Overnight (8 to 12 hours)
Cover the dish tightly with plastic wrap or beeswax wrap, then a layer of aluminum foil. Refrigerate for at least 8 hours, or up to 24 hours. This resting time is crucial—it allows the bread to fully absorb the egg mixture, resulting in a custard-like texture instead of a soggy mess.
Step 7: Bake (45 to 55 minutes)
When you’re ready to bake, remove the casserole from the fridge and let it sit on the counter for 20 to 30 minutes while the oven preheats to 350°F. This takes the chill off and ensures even cooking. Remove the plastic wrap and foil.
Bake uncovered for 45 to 55 minutes. The casserole is done when the top is golden brown and puffed, and the center is set but still slightly jiggly (it will continue to set as it rests). A knife inserted into the center should come out mostly clean. If the top is browning too quickly, tent loosely with foil for the last 15 minutes.
Step 8: Rest and Serve (10 minutes)
Let the casserole rest for 10 minutes before slicing. This allows the custard to firm up and makes for cleaner slices. Garnish with fresh parsley or chives if desired. Serve warm.
Cooking Tips & Techniques
I’ve made every mistake you can make with this casserole so you don’t have to. Here are the lessons I learned the hard way.
Don’t Skip the Resting Time
I know it’s tempting to skip the overnight rest and bake it immediately. Don’t. The bread needs time to absorb the egg mixture. Without that rest, you’ll end up with a dry casserole with pockets of liquid egg. The minimum is 8 hours. I’ve gone up to 24 and it only gets better.
Grate Your Own Cheese
Pre-shredded cheese is coated with cellulose and starches to prevent clumping. Those same additives prevent the cheese from melting smoothly. Grate your own and you’ll get that beautiful, stretchy, cohesive cheese layer that makes everyone swoon.
Watch Your Oven Temperature
Ovens vary wildly. I’ve made this in three different ovens and the baking time ranged from 42 minutes to 58 minutes. Start checking at 40 minutes. If the top is golden and the center is set, it’s done. If the center still looks wet and wobbly, give it another 5 to 10 minutes.
Let It Rest Before Slicing
This is the hardest step for me because I’m impatient. But cutting into a hot casserole releases all the steam and causes it to deflate. Ten minutes of resting gives you clean, beautiful slices that hold their shape. Trust the process.
Multitasking Strategy
Brown the sausage while you cube the bread. Sauté the vegetables while the sausage cools. Whisk the eggs while the vegetables cool. Assembly takes about 10 minutes total if you prep everything in parallel. Clean as you go and you’ll have minimal dishes to deal with after.
Variations & Adaptations
This casserole is a blank canvas. Here are some variations I’ve tried and loved.
Vegetarian Version
Skip the sausage entirely. Sauté 8 ounces of cremini mushrooms (sliced) along with the onion and bell pepper. Add 1 cup of fresh spinach during the last minute of cooking and let it wilt. The mushrooms add that savory, umami depth you’d normally get from meat.
Southwest Twist
Replace the bell pepper with a poblano pepper (seeded and diced). Add 1 can of drained and rinsed black beans. Use pepper jack cheese instead of gouda. Top with fresh cilantro and a dollop of sour cream after baking. This version pairs beautifully with a side of chicken enchiladas for a full Tex-Mex brunch spread.
Low-Carb / Keto Adaptation
Replace the bread with 4 cups of frozen hash browns (thawed and squeezed dry). Reduce the milk to 1½ cups and add ½ cup of heavy cream. The hash browns absorb the egg mixture beautifully and create a crispy, golden crust. This version has become my go-to during January when everyone’s pretending they’re not going to eat carbs.
Holiday Special
Add ½ cup of dried cranberries and ¼ cup of chopped pecans to the bread layers. Use a combination of brie and cheddar for the cheese. The sweetness of the cranberries against the savory sausage is absolutely magical. I made this for Thanksgiving brunch and it disappeared in 15 minutes.
Dairy-Free Option
Use unsweetened almond milk or oat milk instead of cow’s milk. Skip the cheese or use a dairy-free shredded alternative. The texture will be slightly less creamy, but it’s still delicious. Add an extra tablespoon of nutritional yeast to the egg mixture for a cheesy flavor without the dairy.
Serving & Storage Suggestions
Serving Temperature and Presentation
Serve this casserole warm, not piping hot. Let it rest for 10 minutes after baking, then slice into squares. A fish spatula works beautifully for lifting out clean portions. Arrange on a platter and garnish with fresh herbs—parsley, chives, or even microgreens if you’re feeling fancy.
What to Serve Alongside
This casserole is hearty enough to stand alone, but it pairs wonderfully with fresh fruit salad, a simple green salad with vinaigrette (the acidity cuts through the richness), or a basket of warm aglio e olio pasta if you’re doing a brunch-to-dinner transition. For beverages, mimosas, bloody marys, or a big pot of coffee are all excellent choices.
Storage Instructions
Leftovers keep in the refrigerator for up to 4 days. Store in an airtight container or tightly wrapped in foil. The flavors actually meld and deepen overnight—I sometimes prefer day-old casserole.
Freezing Instructions
This casserole freezes beautifully. Bake it completely, let it cool, then wrap tightly in plastic wrap and foil. Freeze for up to 3 months. To reheat, thaw overnight in the refrigerator, then warm in a 350°F oven for 20 to 25 minutes, covered with foil. You can also reheat individual slices in the microwave for 1 to 2 minutes.
Reheating Tips
The oven is your best friend for reheating. Microwave reheating can make the eggs rubbery. If you’re in a hurry, microwave at 50% power in 30-second intervals. But for best results, oven reheat at 350°F for 10 to 15 minutes.
Nutritional Information & Benefits
Here’s the estimated nutritional breakdown for one serving (based on 8 servings):
- Calories: 485
- Protein: 28g
- Fat: 32g
- Carbohydrates: 22g
- Fiber: 2g
- Sugar: 6g
- Sodium: 890mg
Health Benefits of Key Ingredients
Eggs are a fantastic source of high-quality protein and choline, which supports brain health. The bell peppers provide a solid dose of vitamin C—more than an orange, actually. The milk and cheese contribute calcium and vitamin D for bone health. And the bread provides complex carbohydrates for sustained energy through a busy holiday morning.
Dietary Considerations
To make this gluten-free, use gluten-free bread. To make it lower in sodium, use low-sodium sausage and reduce the added salt. For a lower-fat version, use turkey sausage, reduced-fat cheese, and skim milk. The texture will be slightly different, but it’s still satisfying.
Potential Allergens
This recipe contains eggs, dairy, and gluten. If you have allergies, refer to the variations section for substitutions. Always check your sausage ingredients for hidden allergens.
I’m not a nutritionist, but I do believe in balance. This casserole is indulgent—it’s meant to be. It’s for holidays and special occasions. Enjoy it without guilt, and balance it with lighter meals the rest of the week.
Conclusion
This easy make-ahead breakfast casserole has become my holiday morning secret weapon. It’s the recipe I turn to when I want to feel organized and generous without actually working hard. It feeds a crowd, tastes incredible, and lets me be present for the moments that matter—the wrapping paper flying, the coffee brewing, the laughter filling the kitchen.
What I love most about this recipe is how forgiving it is. You can swap ingredients, adjust the seasoning, add or subtract based on what’s in your fridge. It adapts. It doesn’t judge. It just shows up and delivers.
I’d love to hear how this casserole turns out for you. Did you add something unexpected? Did you double the cheese (no judgment here)? Leave a comment below and share your version. Tag me in your photos—I genuinely love seeing your creations. And if you’re looking for more holiday brunch inspiration, check out my chicken marsala recipe for a dinner option that’s equally make-ahead friendly.
Happy holidays, friends. May your mornings be lazy, your coffee strong, and your breakfast casserole perfectly golden.
Frequently Asked Questions
Can I make this casserole without meat?
Absolutely. Skip the sausage and add extra vegetables like mushrooms, zucchini, or spinach. You can also use plant-based sausage crumbles. The cooking time stays the same.
Can I use frozen vegetables instead of fresh?
Yes, but thaw them first and squeeze out as much moisture as possible. Frozen vegetables release water as they cook, which can make the casserole soggy. Pat them dry with paper towels before adding.
Why did my casserole turn out watery?
This usually happens for one of three reasons: too much milk, not enough resting time, or using fresh bread that hasn’t been dried out. Measure your milk carefully, rest the casserole for at least 8 hours, and use day-old or toasted bread.
Can I assemble this casserole more than 24 hours ahead?
You can, but the texture starts to degrade after 24 hours. The bread becomes too soft and the casserole can become mushy. I recommend assembling it no more than 24 hours before baking. If you need to prep further ahead, freeze the unbaked casserole instead.
How do I know when the casserole is fully cooked?
The top should be golden brown and puffed. The center should be set but still slightly jiggly—it will continue to set as it rests. A knife inserted into the center should come out mostly clean, with no raw egg mixture clinging to it. If in doubt, use an instant-read thermometer; the center should read 165°F.
Pin This Recipe!

Easy Make-Ahead Breakfast Casserole for Holiday Mornings
This overnight breakfast casserole is the perfect solution for holiday mornings. Assemble it the night before, bake it in the morning, and enjoy a stress-free, delicious breakfast with family and friends.
- Prep Time: 20 minutes
- Cook Time: 55 minutes
- Total Time: 8 hours 15 minutes (including overnight rest)
- Yield: 8 to 10 servings 1x
- Category: Breakfast
- Cuisine: American
Ingredients
- 1 pound breakfast sausage (mild or spicy)
- 1 medium yellow onion, diced (about 1 cup)
- 1 red bell pepper, diced (about 1 cup)
- 8 large eggs, room temperature
- 2 cups whole milk (2% works too)
- 1 teaspoon kosher salt
- ½ teaspoon black pepper
- ½ teaspoon garlic powder
- ¼ teaspoon smoked paprika (optional)
- 8 cups day-old crusty bread, cut into 1-inch cubes (about 1 large loaf of sourdough or French bread)
- 2 cups shredded sharp cheddar cheese (about 8 ounces)
- 1 cup shredded smoked gouda cheese (about 4 ounces)
- ¼ cup grated Parmesan cheese (for the top)
- ½ cup roasted red peppers, chopped (optional)
- ¼ cup chopped fresh parsley or chives (for garnish, optional)
- Pinch of red pepper flakes (optional)
Instructions
- Brown the sausage: Heat a large skillet over medium-high heat. Add the sausage and break it apart with a wooden spoon. Cook for 6 to 8 minutes, until browned and cooked through. Transfer to a plate lined with paper towels. Leave about 1 tablespoon of drippings in the pan.
- Sauté the vegetables: Add the diced onion and bell pepper to the same skillet with the reserved drippings. Cook over medium heat for 4 to 5 minutes, until the onion is translucent and the pepper has softened. Season with a pinch of salt and pepper. Remove from heat and let cool slightly.
- Prepare the bread: If your bread isn’t day-old, cube it and spread on a baking sheet. Toast in a 300°F oven for 8 to 10 minutes, just until dry. Let cool completely.
- Whisk the egg mixture: In a large mixing bowl, whisk the eggs until combined. Add the milk, salt, pepper, garlic powder, and smoked paprika. Whisk until smooth and slightly frothy.
- Assemble the casserole: Grease a 9×13-inch baking dish. Spread half the bread cubes evenly across the bottom. Top with half the cooked sausage and half the sautéed vegetables. Sprinkle half the cheddar and half the gouda over the top. Repeat the layers: remaining bread, remaining sausage and vegetables, remaining cheddar and gouda. Pour the egg mixture evenly over the casserole. Gently press down with a spatula. Sprinkle Parmesan cheese on top. Add roasted red peppers if using.
- Refrigerate overnight: Cover tightly with plastic wrap and then aluminum foil. Refrigerate for at least 8 hours, up to 24 hours.
- Bake: Remove from fridge and let sit at room temperature for 20 to 30 minutes while preheating oven to 350°F. Remove plastic wrap and foil. Bake uncovered for 45 to 55 minutes, until golden brown and puffed, and center is set but slightly jiggly. Tent with foil if browning too quickly.
- Rest and serve: Let rest for 10 minutes before slicing. Garnish with fresh parsley or chives if desired. Serve warm.
Notes
Use day-old bread for best texture. Grate your own cheese for better melting. Don’t skip the overnight rest—it allows the bread to absorb the egg mixture. Let the casserole rest for 10 minutes before slicing for cleaner pieces. For a vegetarian version, skip the sausage and add mushrooms and spinach. For a low-carb version, replace bread with thawed and squeezed-dry frozen hash browns and reduce milk to 1½ cups with ½ cup heavy cream.
Nutrition
- Serving Size: 1 serving (based on
- Calories: 485
- Sugar: 6
- Sodium: 890
- Fat: 32
- Carbohydrates: 22
- Fiber: 2
- Protein: 28
Keywords: breakfast casserole, make-ahead breakfast, holiday breakfast, overnight casserole, egg casserole, sausage casserole


