Make-Ahead Cheesy Breakfast Potato Casserole
This breakfast potato casserole packs crispy bacon, tender potato bites, and a creamy egg custard into one cheesy, golden dish.

Make it the night before, and all you have to do in the morning is turn on the oven. It is a lifesaver for busy holiday mornings or lazy weekends when you want a warm, hearty breakfast without standing over the stove.
What Makes This Casserole So Good
The potatoes come out tender with some crispy edges, the bacon stays crunchy, and the egg custard binds everything without turning soggy. It tastes like a loaded baked potato met a classic quiche.
Because you build it in layers, every forkful gets a bit of everything. The cheese melts into the eggs rather than sitting only on top, so the whole casserole is rich and savory.
Ingredients

- 2 lbs russet potatoes, diced into 1/2‑inch cubes: starchy potatoes hold their shape without turning mushy.
- 6 slices bacon, chopped: thick‑cut gives meatier bites.
- 1 small onion, diced: yellow or sweet onion both work well.
- 8 large eggs
- 1 cup whole milk: 2% is fine, but whole milk makes the custard creamier.
- 1 1/2 cups shredded sharp cheddar cheese: freshly grated melts better than pre‑shredded.
- 1 tsp salt
- 1/2 tsp black pepper
- 1/2 tsp garlic powder
- 1/4 tsp smoked paprika: (optional, for a subtle smokiness)
Variations / Substitutions
- Swap the protein: sub cooked crumbled breakfast sausage or diced ham for the bacon. If using sausage, no need to pre‑cook the onion separately; cook them together.
- Add vegetables: stir in 1 cup chopped spinach, sautéed mushrooms, or roasted red peppers with the bacon mixture.
- Change up the cheese: pepper jack adds heat, Swiss gives a milder nutty flavor, or use a blend.
- Dairy‑free: use unsweetened oat milk and a favorite dairy‑free shredded cheese. The custard may set a little softer, but it still works.
If you like this, you will probably enjoy a make‑ahead French toast bake too.
How To Make Breakfast Potato Casserole
Step 1: Cook the Bacon and Onion

In a large skillet over medium heat, cook the 6 slices chopped bacon until crispy, about 6 to 8 minutes, stirring occasionally. Add the diced onion and cook until softened, about 3 to 4 minutes. Remove with a slotted spoon and drain on paper towels; reserve 1 tablespoon of the bacon fat in the skillet.
The bacon should be deeply crisp and the onions translucent with light browning at the edges. This step gives you a salty crunch in every bite later.
Step 2: Whisk the Egg Mixture

In a large bowl, whisk together the 8 eggs, 1 cup milk, 1 tsp salt, 1/2 tsp pepper, 1/2 tsp garlic powder, and 1/4 tsp smoked paprika until no streaks of egg white remain, about 30 seconds. Stir in half of the shredded cheese (3/4 cup).
The custard will look pale yellow and speckled with spice. Taste and adjust the salt if needed, but remember the bacon will add saltiness, so do not overdo it.
Step 3: Layer the Casserole

Grease a 9×13‑inch baking dish with butter or the reserved bacon fat. Spread the diced potatoes evenly across the dish. Scatter the cooked bacon and onion mixture over the top, then pour the egg custard over everything, making sure it seeps down and covers the potatoes by at least 1/2 inch. Sprinkle the remaining 3/4 cup cheese on top.
The potatoes should be barely submerged, with just the tops peeking through. If a few cubes sit higher, press them down gently with a spatula. Even layering means every spoonful gets the same combination of flavors.
Step 4: Bake Until Set

Preheat your oven to 375°F (190°C). Place the casserole on the middle rack and bake for 45 to 50 minutes, until the center no longer jiggles when you shake the dish gently and a knife inserted in the middle comes out clean. If the top browns too fast before the center sets, tent loosely with foil.
The edges will be puffed and golden, pulling slightly away from the sides of the dish, while the center is just set. That slight wobble in the middle will firm up as it rests.
Step 5: Scoop and Serve

Let the casserole cool on a wire rack for 5 to 10 minutes before serving. This helps the custard set completely so it holds together when you scoop. Use a large spoon or spatula to portion out servings onto plates. Garnish with chopped fresh chives or parsley if you like.
The first scoop releases steam and shows tender potato layers, cheese stretched in tiny strings, and bacon hiding in every forkful. Serve warm.
Tips for the Best Breakfast Casserole
- Potato size matters: dice potatoes into uniform 1/2‑inch cubes so they cook evenly. If some are larger, they may still be firm while smaller ones turn mushy.
- Make it ahead in two ways: assemble the casserole (through step 3) and refrigerate overnight. In the morning, bake straight from the fridge, adding about 10 minutes to the bake time. Or bake it fully, cool, cover, and refrigerate; reheat individual portions in the microwave or oven.
- Don’t skip the resting time: letting the casserole sit for 5 to 10 minutes after baking finishes setting the eggs, making it easier to serve neat squares.
- For extra crispy potatoes: toss the diced potatoes with a little oil, spread on a sheet pan, and roast at 400°F for 15 minutes before layering. This gives them a head start and a golden crust.
- Leftover roasted veggies work great: if you have leftover roasted broccoli, peppers, or sweet potatoes, chop them and add them in with the bacon mixture.
Bake times by dish size:
| Dish Size | Bake Time |
|---|---|
| 9×13‑inch | 45‑50 mins |
| 8×8‑inch | 50‑55 mins |
Storing Leftovers
- Refrigerate: store cooled leftovers in an airtight container for up to 4 days.
- Reheating: warm individual servings in the microwave for 1 to 2 minutes, or in a 350°F oven covered with foil for 15 to 20 minutes until heated through.
What To Serve With Breakfast Potato Casserole
Fresh fruit salad cuts through the richness with bright acidity; a simple green salad with lemon vinaigrette works if you are serving it for brunch. Warm buttery biscuits or toast are classic for soaking up any extra custard, and a cold glass of orange juice never hurts.
Frequently Asked Questions
Can I use frozen hash browns instead of fresh potatoes?
Yes, use a 30‑ounce bag of frozen shredded or cubed hash browns (thawed or frozen, no need to thaw). They may bake a little softer, so press them evenly into the dish.
How do I know when the casserole is fully cooked?
The center should no longer jiggle when you shake the dish gently, and a knife inserted near the center comes out mostly clean with no liquid egg. The internal temperature should reach 160°F.
Can I make this vegetarian?
Absolutely. Omit the bacon and sauté the onion in 1 tablespoon of butter or oil. Add 1 cup of sautéed mushrooms, bell peppers, or spinach for extra flavor.
My casserole turned out watery. What went wrong?
The most common cause is underbaking or rushing the resting time. Make sure the center is fully set before pulling it from the oven, and let it rest at least 10 minutes so the custard firms up.

Breakfast Potato Casserole Recipe
Ingredients
Method
- In a skillet over medium heat, cook the chopped bacon until crispy, 6‑8 minutes. Add the onion and cook until softened, 3‑4 minutes. Drain on paper towels, reserving 1 tablespoon bacon fat.
- In a large bowl, whisk together eggs, milk, salt, pepper, garlic powder, and paprika. Stir in half the cheese.
- Grease a 9×13‑inch baking dish with bacon fat. Spread diced potatoes in the dish. Top with bacon‑onion mixture, then pour egg mixture over. Sprinkle remaining cheese on top.
- Preheat oven to 375°F. Bake until center is set and top is golden, 45‑50 minutes. Tent with foil if browning too fast.
- Let cool 5‑10 minutes, then scoop onto plates and garnish with chives if desired. Serve warm.
