Breakfast & Brunch
This egg and potato breakfast casserole recipe transforms humble ingredients into a restaurant-worthy dish that's ready in 30 minutes of prep and 30 minutes of baking. The secret lies in pre-cooking the potatoes for perfect texture—creamy centers and crispy golden edges—while the runny yolk magic happens when you bake it just until the top is set. I developed this recipe after years of testing, ensuring every bite delivers that ideal balance of fluffy eggs, tender potatoes, and a crispy top that holds up to forks.
The beauty of this casserole is its versatility—start with the classic potato and egg base, then customize with add-ins like crispy bacon, sautéed spinach, or melted cheddar. The layering technique is simple but critical: potatoes first for stability, then eggs mixed with cheese, and finish with a final layer of shredded cheese for that coveted crispy top. It's the kind of dish that tastes even better the next day, making it perfect for meal prep or feeding a crowd.
What you'll end up with is a hearty, satisfying breakfast that's easy to make but feels special enough for brunch with guests. The potatoes stay tender, the eggs remain custardy, and that golden crust becomes irresistible. Serve with a side of fresh fruit or a simple salad to round out the meal—this casserole is substantial enough to stand alone but works beautifully as part of a larger spread.
Ready in under an hour and packed with flavor, this breakfast casserole is the ultimate solution for busy mornings or lazy weekends. The best part? It reheats perfectly, so you can make a big batch and enjoy leftovers all week. Let's get started on creating your perfect breakfast masterpiece.
Ingredients for egg and potato breakfast casserole
Potatoes, eggs, cheese, and a few simple pantry staples transform into brunch perfection.
| Ingredient | Amount | Notes |
|---|---|---|
| Russet Potatoes 🥔 | 3 lbs | Yukon gold works too |
| Large Eggs 🥚 | 12 whole | Room temperature preferred |
| Sharp Cheddar Cheese 🧀 | 2 cups | Shredded, medium sharpness |
| Milk 🥛 | 1 ½ cups | Whole milk for creaminess |
| Unsalted Butter 🧈 | ½ cup | Melted, salted added later |
| Salt 🧂 | 1 ½ tsps | Kosher or sea salt |
| Black Pepper 🌶️ | 1 tsp | Freshly ground preferred |
| Garlic Powder 🧄 | 1 tsp | For depth of flavor |
| Onion Powder 🧅 | ½ tsp | Fresh onion optional |
| Fresh Chives 🌿 | ¼ cup | Chopped, for garnish |
| Crispy Bacon 🥓 | 6 oz | Optional, cooked crisp |
| Spinach 🍃 | 2 cups | Fresh, chopped optional |
The potatoes are everything—Russets for fluffy texture or Yukon Golds for creaminess. Trader Joe's and Whole Foods carry the best organic options, but any bagged potatoes work. Pre-cook them until tender but not mushy—20 minutes in boiling water—then drain and cool before layering. The bacon? Thick-cut from Oscar Mayer or Applewood holds up best to the long bake, but any crispy bacon will do. Fresh spinach wilts fast, so chop it right before adding to the egg mixture.
No cheddar? Gruyère or Monterey Jack work beautifully—just adjust the amount for meltiness. Short on eggs? Add 2 tbsp milk per missing egg to keep the custard light. The milk can be any kind (whole for richness, 2% for lighter texture), but whole milk gives that perfect creamy bite. Fresh chives add brightness—dried works at half the amount—but don't skip them. They're the secret to that restaurant-quality finish. For extra flavor, sauté the spinach with a pinch of salt first—30 seconds max—so it doesn't turn to mush.
This casserole tastes even better the next day—3-4 days in the fridge, 2 months frozen. Reheat covered at 350°F until bubbly, then broil 2 minutes for that crispy top. I always make a double batch: one for breakfast, one for dinner with a side salad. Store leftovers in portions so you can grab and reheat. The cheese layer? Don't over-shred—pack it tightly for maximum crispiness. And trust me, the runny yolk magic is worth the wait—bake just until the top is set, then let it rest 5 minutes before serving.
Why You'll Love This Recipe
- I swear by this trick: just slice those Russets thick (¼-inch) and toss them in boiling water for 5 minutes—no peeling, no dicing, no stress. The butter and milk make them melt-in-your-mouth tender while you whisk the eggs, and honestly? That’s about as hands-off as breakfast gets.
- No-Chop Nightmare: I swear by this trick: just slice those Russets thick (¼-inch) and toss them in boiling water for 5 minutes—no peeling, no dicing, no stress. The butter and milk make them melt-in-your-mouth tender while you whisk the eggs, and honestly? That’s about as hands-off as breakfast gets.
- Cheese Pull Magic: Sharp cheddar isn’t just for snacks—it’s the star here. When it melts into that creamy egg-potato mix, you get these little pockets of stretchy, salty goodness that make every bite feel like a hug. (Yes, even on a Tuesday night.) The eggs add richness without overpowering, so it’s bold but balanced—like a breakfast you’d order at a diner, but better.
- Meal Prep MVP: This casserole plays nice with your week. Make it Sunday, store it in the fridge, and reheat slices straight from the pan—no defrosting, no soggy edges. I pack it for lunches (yes, really) because it’s hearty enough to keep me full until dinner, and the kids? They’ll eat it cold straight from the fridge. (Between us, I’ve been known to do the same.)
Step-by-step instructions for egg and potato breakfast casserole
Here's how to build this showstopper—crispy, cheesy, and packed with runny yolk magic.
Prep and Layer the Potatoes
Preheat your oven to 375°F. Peel and thinly slice the 3 lbs russet potatoes into ¼-inch slices—about 6-8 slices per potato. I use a mandoline for even cuts, but a sharp knife works too. Toss the slices with 1 teaspoon salt and let them sit in a colander for 10 minutes to draw out excess starch.
In a 9x13-inch baking dish, arrange half the potato slices in a single layer, slightly overlapping. Sprinkle with ½ teaspoon garlic powder and ¼ teaspoon onion powder, then top with 1 cup sharp cheddar cheese and 1 cup spinach. Repeat with the remaining potatoes, cheese, and spinach. This layered approach ensures every bite has crispy potatoes and creamy cheese.
Add the Egg-Milk Mixture
In a large bowl, whisk together the 12 whole large eggs, 1.5 cups milk, 1 teaspoon black pepper, 1 teaspoon garlic powder, and ½ teaspoon onion powder until just combined—no need to make it frothy. Pour this mixture evenly over the potato layers, letting it seep into the crevices. The eggs will bind everything together while keeping the yolks gloriously runny.
Dot the top with the 6 oz crispy bacon, breaking it into chunks, and sprinkle the remaining 1 cup sharp cheddar cheese evenly over the surface. This step is where the magic happens—the bacon adds smoky depth, and the cheese creates that irresistible golden crust.
Melt the Butter and Bake
Drizzle the ½ cup melted unsalted butter evenly over the casserole, then sprinkle the remaining ½ teaspoon salt and ½ teaspoon black pepper on top. The butter ensures the top becomes crispy and golden, while the salt enhances all the flavors. Tap the dish gently on the counter to help the butter spread evenly.
Bake uncovered for 45-50 minutes until the top is golden brown and the edges are bubbling. The center should still look slightly jiggly—this means the eggs are still custardy inside. If the top browns too quickly, tent loosely with foil for the last 10 minutes to prevent over-browning.
Rest and Garnish
Remove the casserole from the oven and let it rest for 10 minutes—this crucial step allows the eggs to set slightly while keeping the yolks creamy. Cut into 6 equal squares (for 6 servings) and garnish each with 1 tablespoon chopped fresh chives. The chives add a bright, fresh finish that cuts through the richness.
Serve immediately with a side of crispy hash browns or a simple green salad. The contrast of the crispy top, creamy eggs, and tender potatoes makes this casserole a breakfast (or brunch) star. Leftovers reheat beautifully—just cover with foil and warm in the oven for 15-20 minutes at 350°F.
Pro Tips For Making Egg And Potato Breakfast Casserole
- PARBOIL POTATOES FIRST: I learned this the hard way—skipping the parboil means soggy potatoes and a mushy casserole. Cut your Russets into even ½-inch slices, boil them for exactly 3 minutes (yes, even if they’re not fully tender), then drain and pat very dry. This keeps them from turning to glue in the oven.
- SALT THE WATER LIKE THE OCEAN: Your parboiling water needs more salt than you think—about 1½ tablespoons per 4 cups of water. This seasons the potatoes before they even hit the casserole, and trust me, you’ll taste the difference when that cheddar melts into properly seasoned spuds.
- DON’T SKIP THE MILK SOAK: Whisk your eggs with milk (use the full 1 cup—no shortcuts) and let the mixture sit for 10 minutes before pouring it over the potatoes. This gives the eggs time to slightly thicken, so they don’t pool at the bottom of the dish when baking. (I know, I know, but trust the process.)
- BAKE UNTIL THE TOP CRUSTS: Your casserole needs 350°F for 40 minutes, then a final 5 minutes at 425°F—this isn’t optional. The high finish guarantees a golden, crispy top instead of a sad, pale one. If you’re impatient like me, broil for 2 minutes at the end, but watch it like a hawk—it burns faster than you’d think.
Make-ahead tips for leftovers
Prep Ahead Strategy
Start by pre-cooking the potatoes the night before—boil them for 20 minutes until tender, then drain and let them cool completely. Store in an airtight container in the fridge. This step saves 30 minutes of active prep time the next morning. I also pre-chop the bacon and spinach, storing them separately in small containers. This way, assembly is just layering and baking. 💡
Freezer-Friendly Layers
For a completely make-ahead meal, assemble the entire casserole (up to the butter drizzle) in a freezer-safe baking dish. Cover tightly with plastic wrap and foil, then freeze for up to 2 months. When ready to bake, thaw overnight in the fridge, then add the butter and bake as directed. The texture stays perfect—just add 5-10 minutes to the baking time.
Portion Control Secrets
Divide the assembled casserole into individual portions before baking for easy reheating. Use ramekins or small baking dishes (about 6-8 oz each) and bake them separately at 375°F for 25-30 minutes. This ensures everyone gets their perfect portion without waiting for the whole dish. Store leftovers in portions for grab-and-go breakfasts all week. ✨
Cheese Prep Tips
Shred the cheese the night before and store it in a sealed container to prevent clumping. I like to sprinkle it with 1 tsp cornstarch to keep it dry. For extra crispiness, press the shredded cheese into the top layer before baking. The cornstarch helps create that golden, crunchy crust we all love. 🧀
Bacon Time-Saver
Buy pre-cooked bacon to save 15-20 minutes of cooking time. Look for brands like Oscar Mayer or Applewood that offer fully cooked, crispy bacon. If using raw bacon, cook it ahead of time and store it in the fridge until ready to use. The smoky flavor adds depth without extra effort. 🥓
Oven Prep Shortcuts
Preheat your oven while you're finishing the last steps of assembly. This ensures the casserole goes in as soon as it's ready, maintaining even cooking. I also recommend using an oven thermometer to confirm your oven's accuracy—many ovens run 25°F hotter or cooler than set. Adjust baking time if needed based on your oven's performance. 🌡️
Nutrition facts
Frequently asked questions
Can I make this casserole without bacon?
Skip the bacon and boost flavor with sautéed mushrooms or caramelized onions. For a vegetarian version, add 1 cup sautéed bell peppers or ½ cup diced ham (if you prefer meat). The key is maintaining the same layering technique to keep the texture perfect.
Why does my casserole come out rubbery?
Overbaking is the #1 cause! The center should look slightly jiggly when done (45-50 minutes at 375°F). If it's rubbery, it was baked too long. Also ensure your eggs are room temperature—cold eggs won't set properly. For extra insurance, tent with foil after 30 minutes to prevent over-browning.
How do I make this gluten-free?
Use gluten-free cheese and ensure your bacon is certified gluten-free (some brands add flour). The recipe is naturally gluten-free except for potential cross-contamination in store-bought cheese. For extra crispiness, sprinkle 1 tbsp cornstarch on the cheese layer before baking—it creates a golden crust without gluten.
Can I use hash browns instead of sliced potatoes?
Yes! Swap the potatoes for 3 cups frozen hash browns (thawed and drained). Layer them just like sliced potatoes, but reduce the baking time by 5-10 minutes—they cook faster. For best texture, press them firmly into the dish to prevent gaps where the egg mixture could pool.
What's the best way to reheat leftovers?
Cover with foil and warm at 350°F for 15-20 minutes until bubbly. For extra crispiness, broil for 2-3 minutes at the end. Microwave reheating works but loses that golden crust—save that for fresh-baked portions. Leftovers stay fresh for 3-4 days in the fridge.
