This breakfast casserole recipe features savory ham, potatoes, bell peppers, and onions, baked into a deliciously cheesy egg custard. The ultimate morning recipe to feed a family or portion out for meal prep during the week.
For more make-ahead breakfast recipes, try my French toast casserole and delicious quiche Lorraine.

Jessica’s Recipe Science
- Cooking the vegetables before baking drives off excess moisture and concentrates flavor, preventing a watery casserole.
- Keeping the proper ratio of eggs to dairy ensures the proteins coagulate evenly, creating a tender, custardy texture.
- Cornstarch absorbs excess moisture and thickens as it heats, helping the casserole set tenderly without becoming watery.
Featured Comment 61
“I made this breakfast casserole for Mother’s Day Brunch and it was a hit – 5 Star Keeper. I will be making it again. Thank you Jessica!”—David W.
Why It Works
This easy breakfast casserole combines eggs, savory protein, colorful vegetables, and melted cheese into a hearty, naturally gluten-free dish that can be customized to fit your needs. The key is balancing the ratio of fillings to eggs so the casserole sets properly with a tender, custardy texture. The mixture bakes into a fluffy, savory soufflé-like dish with a beautiful golden crust.
Baked egg dishes can sometimes turn rubbery or watery, especially when high-moisture vegetables or dense meats are added. Sautéing the potatoes and vegetables helps cook off excess water and concentrate their flavor. A small amount of cornstarch in the egg mixture reinforces the protein structure, keeping each slice light while suspending the fillings evenly throughout.
Jump To a Section
Ingredients You’ll Need
- Olive Oil: Helps conduct heat evenly when sautéing the potatoes and vegetables, promoting browning through the Maillard reaction while preventing sticking.
- Yukon Gold Potatoes: Their medium starch content creates a creamy interior while holding their shape, adding hearty structure.
- Alliums: Red onion provides natural sweetness and mild sharpness. Cooking minced garlic mellows its pungency while releasing sulfur compounds that enhance savory flavor.
- Red Bell Pepper: Contributes subtle sweetness and vibrant color, creating contrast with the salty ham and creamy custard base.
- Ham: Supplies protein, salt, and umami, enriching the overall flavor while adding satisfying texture throughout the casserole.
- Seasoning: Salt enhances the overall flavor of the casserole. Black pepper adds gentle heat and aromatic spice.
- Green Onions: Stirred in at the end for a fresh, mild onion flavor and bright color.
- Sharp Cheddar Cheese: Provides bold flavor and melts smoothly into the custard, adding fat that creates a creamy texture and cohesive slice.
- Cornstarch: Acts as a stabilizer, helping the eggs bind excess moisture and preventing a watery texture by reinforcing the protein network as it sets.
- Half-and-Half: Adds richness and tenderness to the custard, balancing structure from the eggs with a soft, creamy mouthfeel.
- Eggs: The structural foundation of the casserole. As they heat, the proteins coagulate around 160–180°F, forming a firm yet tender matrix that holds everything together.
See the recipe card below for all ingredients and measurements (US and metric).
Ingredient Substitutions
This breakfast casserole recipe is easy to customize! Try these delicious options:
- Oil Options: Swap with avocado oil, melted butter, or ghee for similar heat stability and flavor.
- Potato Swaps: Use different types of potatoes, like diced red potatoes, russet potatoes, defrosted frozen potatoes, or sweet potatoes.
- Veggies: Try butternut squash, broccoli, sauteed mushrooms, chopped spinach, roasted zucchini, sundried tomatoes, or roasted bell peppers.
- Onion Swaps: Use yellow onion, shallots, or leeks for a similar aromatic base.
- Protein Options: Swap with cooked bacon, breakfast sausage, turkey sausage, or omit for a vegetarian version- keep the total protein amount similar. Try my sausage breakfast casserole!
- Green Onion Swaps: Replace with chives or finely chopped parsley for fresh contrast.
- Cheese Options: Try pepper jack, mozzarella, feta, Monterey Jack, provolone, or Swiss.
- Half-and-Half Substitute: Use equal parts whole milk and heavy cream.
- Eggs: For smaller eggs, add 1 or 2 extra eggs to maintain the proper egg-to-liquid ratio.
How to Make Breakfast Casserole
Step 1: Preheat the Oven
Preheating the oven to 350°F (177°C) ensures the eggs begin coagulating immediately once the casserole goes in, promoting even protein setting and preventing a watery or dense texture.
Pro Tip: Greasing the baking dish with olive oil creates a thin lipid barrier that reduces sticking by preventing the egg proteins from bonding tightly to the pan, making for clean slices and easier serving.

Step 2: Sauté the Potatoes
Heating the pan first ensures the potatoes start cooking immediately upon hitting the surface, promoting browning rather than steaming. Adding the oil once the pan is hot improves heat transfer and helps create a lightly crisp exterior.
Sautéing the diced Yukon gold potatoes for about 10 minutes softens their interior as the starch granules gelatinize, while occasional stirring prevents sticking and encourages even cooking. This step develops flavor and ensures the potatoes are fully tender before they finish baking in the casserole.

Step 3: Sauté the Mix-ins
Cutting all the ingredients into smaller pieces before sautéing ensures even cooking and prevents denser elements from sinking to the bottom of the casserole. To ensure the vegetables are fully cooked before baking, each ingredient is sautéed first.
The onions and garlic add aromatics, and the bell peppers add color and a slight crunch. I use pre-cooked ham for the casserole, so if you have leftover honey glazed ham from Easter, it’s a great addition! Sprinkling half the cheese over the vegetables lets it melt into the filling, helping hold the ingredients in place as the casserole sets.
Expert Tip: Spreading the mixture into an even layer helps the casserole cook uniformly, so every bite has a balanced ratio of fillings to custard.

Step 4: Add the Egg Base
A ratio of 8 large eggs to 2 ½ cups of half-and-half ensures a velvety custard texture. If too many eggs are used, the texture can become tough due to increased protein. I use cornstarch to ensure a consistent custard-like texture throughout the casserole.

Pouring the egg mixture over the filling allows it to surround and suspend the ingredients as it sets. Sprinkling the remaining cheese on top creates a melted, golden crust that adds flavor.
Ingredient Chemistry: Adding a small amount of cornstarch to the milk mixture keeps the egg base’s consistency tender and glossy. Cornstarch is a thickening agent that can also stabilize fully cooked eggs. The carbohydrates in cornstarch prevent the proteins in the eggs from binding too tightly. As the starches heat in the oven, they swell and thicken, creating a creamier mouthfeel.

Step 5: Bake the Casserole
This egg breakfast casserole bakes in just 40 minutes. To check for doneness, insert a toothpick into the center of the pan. If it comes out dry, it’s ready. You can also gently jiggle the pan to see if the center moves. You want it to be firm.
Tips for Perfect Execution: For my science geeks, grab an instant-read thermometer and test the casserole’s center. Whole eggs begin to solidify and set between 144°F and 158°F (62°C and 70°C). I found that between 180°F and 190°F (82 °C and 88°C) yields the right finish; don’t overcook the casserole!
Frequently Asked Questions
You can make all the components, cover the tray with foil, place it in the fridge, and bake it fresh the following day. It makes for a delicious overnight breakfast casserole. A few more minutes in the oven may be required since all the ingredients are cold. This breakfast casserole will keep for up to 5 days once baked.
The easiest way to reheat the breakfast casserole is to slice it into individual portions and microwave it for about 1 minute. I got 12 generous portions in a 9 x 13-inch pan. This is an excellent method if you’re meal-prepping for the week. The entire pan can also be reheated in a 300°F (149°C) oven until the center is warm.
A watery breakfast casserole usually means there was too much moisture and not enough structure to hold it together. Vegetables like mushrooms, spinach, or frozen potatoes release water as they cook, so if they aren’t sautéed or drained first, that liquid collects in the dish. The egg-to-dairy ratio also matters; eggs provide the protein network that sets and traps moisture, so too much milk or cream can prevent the custard from fully firming up.
More Casserole Recipes
If you tried this Breakfast Casserole Recipe, please leave a 🌟 star rating and let me know how it went in the 📝 comments below!
Breakfast Casserole

Ingredients
- 2 tablespoons olive oil
- 1 ½ pounds Yukon gold potatoes, peeled, cut into ¼" cubes
- 1 cup red onion, ⅛" dice
- 1 tablespoon minced garlic
- 1 cup red bell pepper, ⅛" dice
- 10 ounces ham, ¼" dice
- 1 ½ teaspoon kosher salt, divided
- ¼ teaspoon black pepper
- ¼ cup sliced green onions
- 6 ounces sharp cheddar cheese, grated
- ¼ cup cornstarch
- 2 ½ cups half-and-half
- 8 large eggs
Instructions
- Preheat the Oven – Set the oven rack to the center position. Preheat to 350ºF (177ºC). Grease a 9×13-inch baking dish with olive oil on the bottom and sides.
- Saute the Potatoes – Heat a large pan or cast iron skillet over medium-high heat. Add 2 tablespoons of olive oil. Once hot, add in the potatoes. Saute until tender, occasionally stirring, for 10 minutes.
- Saute the Mix-ins – Turn the heat down to medium. Add the onions and garlic, and saute for 1 minute. Add the bell peppers and saute for 2 minutes. Add the ham and saute for 1 minute. Turn off the heat and stir in ½ teaspoon salt, black pepper, and green onions. Transfer the mixture to the greased baking dish and spread it into an even layer. Evenly sprinkle half of the cheddar cheese on top.
- Add the Egg Base – In a large bowl, whisk together the cornstarch and 1 teaspoon salt. Add half-and-half and eggs, and whisk until thoroughly combined. Pour the egg mixture into the baking dish. Evenly sprinkle the remaining cheese on top.
- Bake the Casserole – Bake for 20 minutes. Rotate the pan and continue baking until the center sets and a toothpick inserted comes out clean, about 20 minutes. The internal temperature should be 180 to 190ºF (82 to 88ºC). Cool for 10 minutes before slicing and serving.
Recipe Video

Notes
- Storing: Cover and refrigerate leftovers for up to 5 days in an airtight container.
- Reheating: Reheat slices in the microwave on high setting in 15 to 30-second increments until hot. The entire pan can also be reheated in a 300°F (149°C) oven until the center is warm.
Nutrition Facts
Percent Daily Values are based on a 2000-calorie diet. All nutritional information is based on estimated third-party calculations. Each recipe and nutritional value will vary depending on the brands you use, measuring methods, and portion sizes per household.









David Witte says
I made this breakfast casserole for Mother’s Day Brunch and it was a hit – 5 Star Keeper. I will be making it again! Thank you Jessica!
Jessica Gavin says
Whoo-hoo! Thanks for sharing the breakfast casserole recipe for mother’s day!
Nancy J says
This was easy and delicious. I made a half recipe, just halving the ingredients. Worked well. Baking time was the same.
Jessica Gavin says
Thank you so much! I’m so happy that you were able to tailor the casserole recipe to your needs.
Teresa says
Could one use frozen potato cubes. I have some in the freezer that need to be used
Jessica Gavin says
You can defrost the potatoes, drain, saute, and add them to the breakfast casserole.
Cindy says
Is it possible to freeze this before it is baked so you can prepare ahead of time?
Jessica Gavin says
I think it would be better to bake, cool, and reheat. This works well for individual portions. That way, the ingredients in the casserole won’t sink to the bottom.
RJ Rodgers says
Can you freeze the Breakfast Casserole?
Jessica Gavin says
Yes, you can freeze the casserole. It would be easiest to freeze portioned-out pieces that are individually wrapped so that they can be defrosted easily.
Theodosia says
I love all your recipes and your directions! The breakfast casserole is amazing!
Jessica Gavin says
Thank you so much, Theodosia!
Michelle says
This is delicious. I saute a little baby spinach instead of ham, to make it vegetarian.
Jessica Gavin says
Thank you, Michelle! I love that you added spinach to make it vegetarian. Sauteing the vegetable is key for making the casserole not soggy, great job!