This post may contain affiliate links. For more information, see our Affiliate Disclosure Policy.
By Callie
I started making this veggie and cheese breakfast casserole completely by accident. It was a Sunday morning, we had friends coming over for brunch in about an hour, and I realized I hadn’t actually planned anything to serve. The fridge had eggs, some vegetables that needed to be used up, and a couple of different cheeses. So I threw everything into a baking dish, crossed my fingers, and shoved it in the oven. When I pulled it out 30 minutes later, golden and puffed and smelling incredible, I knew I’d accidentally stumbled onto something great.
That was three years ago, and this casserole has become one of the recipes I make the most. It’s the one I bring to potlucks. It’s what I assemble on Sunday evenings so Emily and I have easy breakfasts all week. It’s what I make every single Christmas morning because it goes in the oven while we open presents and it’s ready by the time we’re done. The whole thing is just eggs, vegetables, cheese, and a baking dish – and somehow it comes out tasting way more impressive than that simple list suggests.
What makes this breakfast casserole so good is the combination of textures and flavors. You’ve got the fluffy, custard-like egg base that holds everything together, the tender sauteed vegetables – bell pepper, onion, zucchini, and spinach – running throughout, and then two kinds of cheese doing two different jobs. The shredded cheddar melts into the eggs and makes everything rich and gooey, while the crumbled feta stays in little pockets that pop with a salty tang when you hit them. It’s really good. Like, surprisingly good for how easy it is.
If you’re a fan of make-ahead egg bakes, you might also love my Amish Breakfast Casserole – it’s heartier and cheesier with a hash brown base that takes things in a totally different direction.
Why You Will Like This Veggie And Cheese Breakfast Casserole
- Truly easy, no-fuss cooking – Chop the vegetables, whisk the eggs, pour it all into a baking dish, and let the oven do the work. There’s no babysitting the stove, no flipping, no complicated timing. If you can chop an onion and crack an egg, you can make this casserole.
- Perfect for meal prep – This is one of the best meal prep breakfasts I’ve ever found. Bake it on Sunday, slice it into portions, and you’ve got grab-and-go breakfasts for the entire workweek. It reheats in minutes and tastes just as good on day four as it does on day one.
- Feeds a crowd from one pan – A 9×13-inch baking dish gives you about 8-10 generous portions. That’s enough for a family brunch, a holiday morning, or a potluck contribution without needing to make multiple dishes.
- Packed with vegetables and protein – Between the eggs and all the veggies, you’re getting protein, fiber, vitamins, and minerals in every slice. It’s the kind of breakfast that actually keeps you going until lunch.
- Completely customizable – The base formula (eggs + milk + cheese + vegetables) works with practically any combination. Swap the vegetables based on what’s in season, change the cheese, add meat or keep it vegetarian. It’s a template, not a rigid recipe.
- Naturally gluten-free – No bread, no flour, no crust. Just eggs, vegetables, and cheese. If you’re avoiding gluten, this casserole works without any modifications at all.
- Works for breakfast, lunch, or dinner – I’ve served this at every meal and it fits every single time. A warm slice with toast in the morning, a cold slice with a salad for lunch, or a reheated portion with roasted potatoes for dinner – it’s all good.
- Makes your kitchen smell amazing – This is a minor thing but it matters. When this casserole is in the oven, the whole house smells like cheese and roasted vegetables and warmth. On Christmas morning especially, it sets the mood.
Veggie And Cheese Breakfast Casserole Ingredients
Everything here is simple and accessible. You probably have most of it already.
- 1 tablespoon olive oil – For sauteing the vegetables. You could also use butter if you want a richer flavor, but olive oil keeps things lighter and lets the vegetables really shine.
- 1 small onion, diced – Yellow onion is my go-to because it turns sweet and soft when cooked. Finely diced is the way to go here so the onion distributes evenly through the casserole rather than showing up in big chunks.
- 1 bell pepper, diced – Any color works. I usually use red or orange because they’re sweeter, but green bell pepper adds a slightly sharper, more savory note. Dice it about the same size as the onion.
- 1 zucchini, diced – Zucchini adds moisture and a mild, slightly sweet flavor that plays well with the eggs. Dice it into small cubes, roughly half an inch. I leave the skin on for extra color and nutrition.
- 1 cup spinach, chopped – Fresh spinach wilts down significantly, so a cup raw becomes a very small amount cooked. It adds great color and a mild, earthy flavor without overpowering anything. Give it a rough chop so it’s easier to distribute.
- 8 large eggs – The foundation of the whole casserole. I use room temperature eggs when I remember to pull them out of the fridge ahead of time – they whisk more smoothly and blend into the milk better. But straight from the fridge works too.
- 1 cup milk (whole or 2% recommended) – The milk makes the egg base lighter and more custard-like. Whole milk gives the richest result, but 2% is almost as good. I wouldn’t go lower than 2% or the casserole can come out a bit dry.
- 1 1/2 cups shredded cheddar cheese – This is your main melting cheese. It melts into the eggs and creates that gooey, creamy quality throughout. I shred my own from a block when I have time – pre-shredded cheese has a coating that can prevent it from melting as smoothly, though it still works fine.
- 1/2 cup crumbled feta cheese – The feta doesn’t fully melt; instead, it stays in little creamy, tangy pockets throughout the casserole. That contrast between the smooth cheddar and the salty feta is what makes this particular combination so good. It’s the ingredient that takes this from “fine” to “really good.”
- Salt and pepper, to taste – I add about 1/2 teaspoon of salt and several cracks of pepper to the egg mixture. Keep in mind that both the cheddar and feta are salty, so you need less salt than you might think. Season to taste and adjust at the end.
- Fresh herbs for garnish (optional) – Chopped chives, parsley, or basil scattered over the top after baking. Totally optional but it adds a fresh pop of color and flavor.
Callie’s Kitchen Note: I tested this recipe with pre-shredded bagged cheddar versus cheese I shredded myself from a block, and there was a noticeable difference. The block cheese melted more smoothly and created a creamier texture throughout the casserole. The bagged cheese worked but left a slightly grainy quality in a few spots. If you have the extra two minutes, shredding your own is worth it. But if you’re short on time, the bagged version still makes a great casserole.
Ingredient Substitutions
- Dairy-free: Use almond milk or oat milk and swap both cheeses for plant-based alternatives. The texture will be slightly different but still very good.
- Low-carb: Skip the bell pepper (it’s the starchiest vegetable in the mix) and add more leafy greens, mushrooms, or broccoli florets instead.
- Protein boost: Add 1/2 cup of cooked crumbled sausage, diced ham, or crumbled bacon. Cooked and drained crumbled tofu works for a vegan protein option.
- Different cheeses: Swiss or Gouda in place of cheddar gives a milder, nuttier flavor. Pepper jack adds heat. Goat cheese in place of feta brings a creamier tanginess.
How To Make Veggie And Cheese Breakfast Casserole
This is a Project Recipe in the sense that it takes about 45-50 minutes total, but the actual hands-on work is only about 15 minutes. The oven handles the rest.
Prep The Baking Dish
Preheat your oven to 350 degrees F (175 degrees C). Grease a 9×13-inch baking dish generously with cooking spray or butter. Don’t skimp here – eggs love to stick to baking dishes and a good coating of grease makes slicing and serving so much easier.
Saute The Vegetables
Heat the olive oil in a large skillet over medium heat. Add the diced onion, bell pepper, and zucchini. Saute for 5-7 minutes, stirring occasionally, until the vegetables are softened and the onion looks translucent. You’ll see the vegetables shrink down and start to concentrate their flavors as the moisture cooks off.
Add the chopped spinach to the skillet and stir it in. Cook for another 2 minutes or so until the spinach has fully wilted. Remove the pan from the heat and set it aside to cool slightly while you prepare the egg mixture.
Callie’s Kitchen Note: Sauteing the vegetables before they go into the casserole is a step you absolutely cannot skip. I tried it once with raw vegetables straight into the baking dish and the casserole came out watery and the veggies were still slightly crunchy in spots. Pre-cooking drives off the excess moisture (especially from the zucchini and spinach) and softens everything so the textures are right when the casserole is done. It’s an extra 7 minutes of work that makes a huge difference in the finished dish.
Mix The Egg Base
In a large bowl, crack the 8 eggs and add the 1 cup of milk, salt, and pepper. Whisk vigorously until the mixture is smooth and uniform – no streaks of white visible. Then stir in the shredded cheddar cheese and crumbled feta. Give it a good mix so the cheese is distributed throughout the liquid rather than clumped in one spot.
Assemble And Bake
Spread the sauteed vegetables in an even layer across the bottom of the greased baking dish. Pour the egg and cheese mixture slowly over the vegetables. Use a fork or spatula to gently nudge everything around so the vegetables, eggs, and cheese are evenly distributed. You want every slice to have a good mix of everything.
Place the baking dish on the center rack of the oven. Bake for 30-35 minutes at 350 degrees F. The casserole is done when the top is lightly golden, the edges have pulled away from the sides of the pan slightly, and the center is set but still has the tiniest bit of give when you press it gently. It should not look liquid or jiggly in the middle.
Cool And Serve
Let the casserole rest in the baking dish for about 5-10 minutes before slicing. This brief resting period lets the eggs firm up just a bit more, which means cleaner slices. Garnish with fresh herbs if you’re using them, then cut into squares and serve.

Common Mistakes To Avoid
This casserole is very forgiving, but here are the few things that can trip you up.
Skipping the vegetable saute. I know it’s tempting to skip the stovetop step and just dump raw vegetables into the baking dish. But raw vegetables release water as they cook in the oven, and that moisture goes directly into the egg base and makes the whole casserole watery and loose. Seven minutes of sauteing cooks off that excess liquid and gives you a casserole that’s firm and sliceable.
Overbaking. The casserole should come out of the oven when the center is just set – a tiny bit of softness is okay because it will continue firming up as it cools. If you wait until the center is completely firm and the top is deeply browned, you’ve gone too far and the eggs will be dry and rubbery. Check at the 30-minute mark and pull it when the center no longer jiggles but still has the slightest give when pressed.
Using too much milk. Stick to 1 cup. More milk doesn’t make the eggs fluffier – it just makes the custard looser and harder to slice. The 8-egg-to-1-cup-milk ratio gives you the right balance of structure and creaminess.
Not greasing the baking dish well enough. Eggs are incredibly sticky when baked. If you don’t grease the pan thoroughly, the first slice will tear apart and leave half itself stuck to the dish. Be generous with the cooking spray or butter, getting into the corners and up the sides.
Callie’s Kitchen Note: I once made this for a friend’s baby shower brunch and forgot to grease the baking dish. The casserole baked perfectly but when I tried to cut and serve it, every single slice fell apart and left a layer of egg cemented to the pan. I ended up scooping it out with a big spoon and calling it “deconstructed casserole.” Everyone still ate it (and liked it), but it wasn’t the presentation I had in mind. Now I triple-check the greasing step every time.
Storage And Reheating
One of the best things about this breakfast casserole is how well it stores. This is a meal prep champion.
Refrigerator Storage
Let the casserole cool to room temperature, then cover the baking dish tightly with plastic wrap or aluminum foil. Or slice it into individual portions and store them in airtight containers. It keeps in the refrigerator for up to 4 days with no noticeable drop in quality. I actually think the flavors develop a little more after a day in the fridge.
Freezing
This casserole freezes beautifully, which makes it one of my top meal prep picks. Slice the cooled casserole into individual portions, wrap each one tightly in plastic wrap, and then place them in a freezer-safe bag. They’ll keep in the freezer for up to 2 months.
To thaw, move a portion from the freezer to the fridge the night before. Or if you forgot, you can reheat it straight from frozen – just add a couple extra minutes to the reheating time.
Reheating Methods
Oven (best for larger portions): Place the casserole or slices on a baking sheet and warm at 300 degrees F for 10-15 minutes until heated through. This is the best method for preserving the texture – the eggs stay soft and the cheese gets slightly melty again.
Microwave (fastest for single servings): Heat a single portion in 30-second intervals, checking in between. Usually takes about 60-90 seconds total. The texture won’t be quite as good as oven-reheated but it works great for a quick weekday morning.
Skillet: Warm a slice in a lightly buttered skillet over medium-low heat for about 2 minutes per side. This gives the outside a slightly crispy edge while keeping the inside creamy. It’s probably my pick when I have an extra 5 minutes.
For food safety, the USDA guidelines for egg dishes recommend storing cooked egg casseroles at 40 degrees F or below and reheating to 165 degrees F before serving.
Veggie And Cheese Breakfast Casserole Variations
The base technique here stays the same – it’s always eggs, milk, cheese, and vegetables in a baking dish. But the specific ingredients can change completely.
Mexican-Inspired Casserole – Swap the feta for pepper jack cheese. Add a can of drained black beans, a cup of corn kernels, and some diced jalapeno to the vegetable mix. Season the eggs with a teaspoon of cumin and a pinch of chili powder. Serve with salsa, sour cream, and sliced avocado. This version has become Emily’s pick when she gets to choose.
Mediterranean Casserole – Replace the cheddar with mozzarella and keep the feta. Use sun-dried tomatoes, kalamata olives, and artichoke hearts instead of the bell pepper and zucchini. Add a teaspoon of dried oregano to the eggs. Top with fresh basil after baking. This one tastes like a vacation.
Meat Lover’s Casserole – Add 1/2 cup of cooked crumbled breakfast sausage and 1/2 cup of crumbled bacon to the vegetable layer. Use all cheddar (2 cups) and skip the feta. This is the version I make when we have my brother-in-law visiting because the man does not believe a meal is complete without meat.
Mushroom and Gruyere Casserole – Replace the bell pepper and zucchini with about 2 cups of sliced cremini mushrooms, sauteed until golden. Swap the cheddar for Gruyere and keep the feta. Add a tablespoon of fresh thyme. The earthy mushroom and nutty Gruyere combination is really special.
Fall Harvest Casserole – Add 1 cup of roasted butternut squash cubes and replace the spinach with kale. Use sharp cheddar and crumbled goat cheese. Add a pinch of sage and nutmeg to the eggs. I make this version from October through December and it’s the coziest thing.
Spring Garden Casserole – Swap the zucchini and bell pepper for blanched asparagus spears cut into 1-inch pieces and fresh peas. Use goat cheese instead of feta. Add fresh dill to the egg mixture. Light, bright, and perfect for Easter or Mother’s Day brunch.
Loaded Veggie (Extra Vegetables) – Double the vegetable amounts and add extras like broccoli florets, shredded carrots, and diced mushrooms. Keep the cheese the same. This version is seriously packed with color and nutrition and is the one I make when I’m trying to use up everything in the produce drawer before shopping day.
Serving Suggestions
For a laid-back weekend brunch, slice the casserole into squares and serve it alongside a bowl of fresh berries, some warm buttered toast or flaky biscuits, and a platter of crispy bacon or sausage. Set out a few hot sauce options (I always put out sriracha and Tabasco) and let everyone customize their own plate. Add a pitcher of mimosas or a pot of coffee and you’ve got a full spread with minimal effort.
For a weekday meal prep breakfast, slice the casserole into individual portions, pack each one into a container with a small side of fruit, and store in the fridge. In the morning, reheat one slice while you get ready and eat it on a plate or wrapped in a tortilla. It takes about 90 seconds in the microwave and it’s a real breakfast instead of a granola bar grabbed on the way out the door.
For a holiday morning, assemble the casserole the night before (vegetables in the dish, egg mixture poured over, covered in the fridge) and bake it fresh in the morning. Add about 5 extra minutes to the bake time since it’s going in cold. The casserole bakes while presents are being opened or the Easter egg hunt is happening, and it’s ready right when everyone’s hungry.
For a light dinner, serve a warm slice alongside a simple green salad with a lemon vinaigrette and some crusty bread. It’s one of those meals that feels balanced and satisfying without being heavy at all. I do this at least twice a month with leftover casserole and it never gets old.
Presentation tip: Cut the casserole into clean squares using a sharp knife (a plastic knife actually works well in non-stick dishes) and lift each piece out with a flat spatula. The colorful vegetables visible through the golden egg base look really pretty, especially with a sprinkle of fresh herbs on top.
Beverage pairings: A bold, rich coffee is the natural partner here. For brunch, mimosas or sparkling water with a splash of citrus are both great. For a health-conscious option, a green smoothie made with spinach, banana, and almond milk complements the casserole without being too heavy.
Veggie And Cheese Breakfast Casserole FAQ
Yes. Replace the milk with unsweetened almond milk or oat milk and swap both cheeses for plant-based alternatives. The texture won’t be identical – plant-based cheeses melt differently – but the casserole will still hold together well and taste good. Nutritional yeast (about 3 tablespoons) is another option to add cheesy flavor without actual cheese. I’ve tested the almond milk version and the eggs set up just fine; the main difference is a slightly less rich mouthfeel, which is honestly not a dealbreaker at all.
The cheddar and feta combo in this recipe is my tested pick because they do different things. The cheddar melts throughout for richness and the feta holds its shape in tangy little pockets. But this is very flexible. Swiss or Gouda in place of cheddar gives a milder, more buttery flavor. Pepper jack instead of cheddar adds heat. Mozzarella instead of cheddar gives a stretchier, gooier texture. Goat cheese in place of feta is creamier and tangier. I’ve also used Monterey Jack and it’s great. The only cheese I’d avoid is one that’s very hard and doesn’t melt well, like aged Parmesan on its own.
Absolutely. Cooked, crumbled breakfast sausage, crumbled bacon, or diced ham are the most common additions and they all work well. The key is that any meat you add must be fully cooked before it goes into the casserole – the baking time isn’t long enough to cook raw meat through safely. Cook the meat first, drain any excess grease, and layer it in with the vegetables. About 1/2 to 1 cup of cooked meat is the right amount to add flavor without overpowering the vegetables.
The most common cause is raw vegetables releasing moisture during baking. Zucchini and spinach are both high in water content, and if you skip the saute step and add them raw, that water goes straight into the egg mixture. The fix is simple: always saute your vegetables for 5-7 minutes before assembling the casserole. This cooks off the excess liquid. If you’re using frozen vegetables, thaw them completely and squeeze them dry in a clean kitchen towel before adding them. Another possible cause is too much milk – stick to 1 cup for 8 eggs.
Yes, and this is actually how I make it most often for holiday mornings. Saute the vegetables, prepare the egg mixture, assemble everything in the greased baking dish, cover tightly with plastic wrap, and refrigerate overnight. In the morning, let it sit on the counter for about 15 minutes while the oven preheats to take the chill off, then bake as directed, adding about 5 extra minutes to the bake time since it’s starting cold. The results are just as good as baking it immediately.
Callie’s Kitchen Note: I’ve tested the make-ahead method side by side with baking immediately and honestly, I think the overnight version might actually be slightly better. The eggs have time to absorb some of the cheese and vegetable flavors while they sit in the fridge, so the finished casserole has a more developed, more blended taste. It’s a subtle difference, but it’s there. And the convenience of just popping it in the oven with zero morning prep is hard to beat.
In a 9×13-inch baking dish, this recipe makes about 8-10 generous portions. If you’re cutting it into smaller squares for a brunch spread where there are other dishes on the table, you could stretch it to 12 servings. For meal prep where this is the entire breakfast, plan on 6-8 servings depending on how big you like your portions. I typically cut it into 8 squares and each one with a piece of toast is a filling breakfast.
Recipes You May Like
If this veggie and cheese breakfast casserole is your kind of cooking, here are some more make-ahead casseroles and egg bakes from the blog that are perfect for the same occasions:
Crescent Roll Breakfast Casserole – If you want a breakfast casserole with a buttery, flaky crust built right in, this version uses crescent roll dough as the base and it’s really satisfying. Great for feeding a crowd.
Baked Vegetable Frittata – Same concept of eggs and vegetables baked together, but in a skillet rather than a casserole dish. It’s a little more rustic, cooks faster, and works great for a smaller group or a weeknight dinner.
Healthy Breakfast Egg Muffins – Easy Meal Prep Recipe – If you love the meal prep aspect of this casserole but want individual portions, these egg muffins bake in a muffin tin and are grab-and-go ready. Same filling concept, portable format.
Conclusion
This veggie and cheese breakfast casserole is honestly one of the most useful recipes in my entire collection. It works for lazy Sunday mornings, chaotic holiday mornings, week-long meal prep, potluck contributions, and everything in between. It’s simple to make, incredibly adaptable, naturally gluten-free, and it tastes way more impressive than the effort it takes. Plus, it freezes well, reheats well, and keeps for days in the fridge without losing quality.
I’d love to know how you customize yours. Are you adding meat? Going Mediterranean? Trying a different cheese combination? Leave me a comment and tell me about it. And if you make this recipe, take a photo and pin it to your breakfast board on Pinterest so others can find it too.
Happy cooking!
Callie


Veggie and Cheese Breakfast Casserole
This veggie and cheese breakfast casserole is a hearty, one-pan dish packed with colorful vegetables, fluffy eggs, and melty cheese. Perfect for meal prep, brunch gatherings, or a quick weekday breakfast, this easy-to-make recipe is fully customizable to fit your favorite flavors. It bakes to golden perfection with a creamy, cheesy texture and a deliciously satisfying bite. Serve it fresh from the oven or store it for a make-ahead meal that’s both nutritious and delicious.
- Prep Time: 10 minutes
- Cook Time: 35 minutes
- Total Time: 45 minutes
- Yield: 6 servings 1x
- Category: Breakfast
- Method: Baking
- Cuisine: American
- Diet: Vegetarian
Ingredients
- 1 tablespoon olive oil
- 1 small onion, diced
- 1 bell pepper, diced
- 1 zucchini, diced
- 1 cup spinach, chopped
- 8 large eggs
- 1 cup milk (whole or 2% recommended)
- 1 ½ cups shredded cheddar cheese
- ½ cup crumbled feta cheese
- Salt and pepper, to taste
- Fresh herbs for garnish (optional)
Instructions
- Preheat the oven to 350°F (175°C). Grease a 9×13-inch baking dish with cooking spray or butter.
- Sauté the vegetables – Heat olive oil in a large skillet over medium heat. Add diced onion, bell pepper, and zucchini. Sauté for 5-7 minutes until softened.
- Add spinach – Stir in chopped spinach and cook for an additional 2 minutes until wilted. Remove from heat and set aside.
- Whisk eggs and milk – In a large bowl, whisk together eggs, milk, salt, and pepper. Stir in shredded cheddar and crumbled feta.
- Assemble the casserole – Spread the cooked vegetables evenly in the greased baking dish. Pour the egg mixture over the vegetables, ensuring even distribution.
- Bake for 30-35 minutes, or until the eggs are set and the top is lightly golden.
- Cool and serve – Allow the casserole to cool for a few minutes before slicing. Garnish with fresh herbs if desired.
Notes
- Make it dairy-free – Swap milk for almond or oat milk and use dairy-free cheese.
- Want extra protein? – Add cooked sausage, bacon, or tofu.
- Prevent a watery casserole – Be sure to sauté vegetables before baking to remove excess moisture.
Nutrition
- Serving Size: 1 slice (1/6 of casserole)
- Calories: 280
- Sugar: 3g
- Sodium: 420mg
- Fat: 18g
- Saturated Fat: 8g
- Unsaturated Fat: 9g
- Trans Fat: 0g
- Carbohydrates: 7g
- Fiber: 1.5g
- Protein: 18g
- Cholesterol: 240mg












