This post may contain affiliate links. Please read our disclosure policy.
This spinach mushroom frittata is the breakfast I come back to when I want something that actually keeps me full until lunch.
Six eggs, ham, mozzarella, and a full pan of vegetables — it’s high-protein, low-carb, and done in 30 minutes.
I make it on Sunday and eat it through the week, reheated in under two minutes.
The technique that makes it work: you start it on the stovetop and finish it under the broiler. The stovetop sets the bottom and sides; the broiler gives you a golden, fully cooked top without drying everything out.
Don’t walk away during the broil — 1 to 2 minutes is all it takes, and it can go from perfect to overdone fast.
Why You’ll Love This Recipe
Six eggs, ham, and mozzarella make this genuinely filling — the kind of breakfast that actually holds you until lunch.
The mushrooms and spinach cook down significantly, so even a full cup of spinach disappears into the eggs without making the texture watery.
It also meal-preps well, which is most of the reason I keep making it.
How to Make Spinach Mushroom Frittata
The method is straightforward: sauté the vegetables and ham first to cook off excess moisture, combine with the egg mixture, then cook stovetop and finish under the broiler.
Cook the mushrooms. Heat a 10–12 inch cast iron skillet over medium heat. Add the sliced mushrooms to the dry pan with salt and pepper and cook for 3 to 5 minutes, until they release their liquid and it cooks off. Add 1 tablespoon of the butter (or olive oil) and cook 1 minute more, until the mushrooms brown.
Make the egg mixture. While the mushrooms cook, whisk together the eggs, milk, and shredded mozzarella in a large bowl.
Add the remaining vegetables and ham. Add the zucchini and spinach to the skillet and cook for 1 to 2 minutes until the spinach wilts. Add the ham and cook for 1 more minute.
Combine. Transfer the skillet contents into the bowl with the eggs and stir to combine. Alternatively add the egg mixture to the skillet, quickly stir and let it cook.
Cook on the stovetop. Grease the skillet with the remaining butter, then pour the egg mixture back in. Cook over medium heat for 8 to 10 minutes. In the first few minutes, use a spatula to loosen the edges from the sides of the skillet — this keeps the bottom from burning while the center finishes cooking.
Broil to finish. Heat the broiler. When the sides and bottom of the frittata are nearly set but the top is still undercooked, transfer the skillet to the oven and broil for 1 to 2 minutes. Watch it the entire time.
Rest before slicing. Remove from heat and let the frittata rest for at least 3 to 5 minutes before cutting — this is what keeps it from falling apart when you slice it.
Tips
Use a 10–12 inch cast iron skillet. It goes from stovetop to broiler without any issues, and the heavy base distributes heat evenly so the bottom doesn’t scorch before the eggs set.
Don’t crowd the mushrooms. Give them space in the pan so they brown rather than steam — this is what builds flavor before the eggs even go in.
Serving Ideas
Serve with a simple green salad on the side for a full meal. A dollop of sour cream or a spoonful of salsa on top works well too. Sliced avocado alongside is one of my favorite pairings — it balances the richness of the eggs.
You may also like these simple breakfast ideas : Egg, Leek and Feta Phyllo Cups, Avocado Egg Salad Sandwich and Mediterranean Egg White Breakfast Cups.
FAQ
Why is my frittata watery in the center?
Almost always because the mushrooms weren’t cooked long enough before the eggs went in.
Mushrooms release a lot of liquid as they cook — they need 3 to 5 minutes in the pan to release and then reabsorb most of that moisture.
If you add them to the eggs while they’re still wet, the liquid transfers and prevents the center from setting properly.
Can I make this frittata ahead of time?
Yes — this is one of the best things about it.
Make the full frittata, let it cool completely, and store it in slices in the fridge for up to 4 days.
It reheats well in the microwave in about 90 seconds, or in a covered skillet over low heat for a few minutes.
I usually make it Sunday and it covers breakfast through Wednesday without any effort.
Can I substitute the ham?
Yes. Cooked bacon, turkey, Italian sausage, or chorizo all work well here.
For a vegetarian version, leave the meat out entirely and add an extra cup of vegetables — roasted red pepper, artichoke hearts, or sun-dried tomatoes are all good additions.


I love your New Year’s commitment, Mira…homemade is the best! But I give you SO much credit with a new baby, I would’ve been eating out and neglecting everything if I had a newborn. You’re an awesome mom! And this frittata looks so good…one of my favorite meals to make, especially if it has mushrooms!
This is one gorgeous frittata, Mira! I have a feeling everyone in my family would appreciate this on the breakfast menu ANY and every day!
I am totally in the frittata mood right now !! I haven’t made one in SEVERAL YEARS if you can believe it! Perhaps I should host a brunch… For a party of one… ME! Cause why would I wanna share?!
You’re totally reading my mind, Mira! Our baby isn’t here… yet, but I’m already wondering how the major shift in priorities is going to affect what I’m able to accomplish in the kitchen, eat for myself, and even my blog. I suppose it’s all about adapting. This frittata is wonderful – quick, easy, and filled with ingredients that get you through all those feeding times. Pinned for sure!
I don’t think anyone would blame you for eating out a lot, or indulging in cakes! With a newborn and the holidays, I feel like most people in your shoes would have done the same thing! But I love your goals! And I loooove this frittata! You really packed this one with so much YUM! I’d eat this for breakfast, lunch and dinner! Cheers, girlie!
This looks fabulous! I can’t wait to try it.
I was looking for recipes and after searching through comment links found your blog and this post. This looks just awesome, you really made it special. Thanks for sharing have a good day.
Thank you!!!
It’s hard to eat right all the time, especially when your creativity gets in the way — cakes are more fun than salads, right? 🙂 This frittata looks fantastic, and I’d gladly eat it for breakfast, lunch, or dinner!
Can I make this in a 9×13 dish.
Yes, Just make sure the material of the baking dish can handle broiling for a few minutes at the end
Thanks for the easy and delicious breakfast idea!