Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 tbsp olive oil
- 1 large yellow onion, diced (about 2 cups)
- 2 cloves garlic, minced
- 8 oz cremini mushrooms, sliced
- 1 medium zucchini, diced (about 1 1/2 cups)
- 4 packed cups baby spinach, roughly chopped
- 1 cup chopped roasted red peppers (jarred, drained and patted dry)
- 1 cup cherry tomatoes, halved
- 10 large eggs
- 1/2 cup whole milk (or half-and-half)
- 1 tsp kosher salt
- 1/2 tsp black pepper
- 1/2 tsp smoked paprika
- 1 cup shredded sharp cheddar
- 1/4 cup finely grated Parmesan
- 2 tbsp chopped fresh herbs (parsley and/or chives)
Do This
- 1. Heat oven to 375°F. Warm a 12-inch oven-safe skillet over medium heat.
- 2. Sauté onion in olive oil 6 minutes; add garlic 30 seconds.
- 3. Add mushrooms + zucchini; cook 6–8 minutes until most moisture cooks off. Add spinach to wilt 1 minute.
- 4. Stir in roasted peppers and tomatoes; cook 1 minute. Spread veggies into an even layer.
- 5. Whisk eggs, milk, salt, pepper, paprika; pour into skillet. Top with cheddar + Parmesan.
- 6. Bake 18–22 minutes until set (center just barely jiggles). Rest 10 minutes.
- 7. Sprinkle herbs, slice, and serve warm or at room temperature.
Why You’ll Love This Recipe
- Flexible and forgiving: Use the vegetables you have (fresh, leftover, or farm-stand finds).
- Feed-a-crowd friendly: One pan makes enough for brunch, lunch, or an easy dinner with salad.
- Great texture: Sautéing first concentrates flavor and keeps the frittata from turning watery.
- Works hot or room temp: Ideal for potlucks, picnics, and make-ahead meals.
Grocery List
- Produce: 1 large yellow onion, 2 garlic cloves, 8 oz cremini mushrooms, 1 medium zucchini, 4 cups baby spinach, 1 cup cherry tomatoes, 2 tbsp fresh parsley and/or chives
- Dairy: 10 large eggs, 1/2 cup whole milk (or half-and-half), 1 cup shredded sharp cheddar, 1/4 cup grated Parmesan
- Pantry: Olive oil, kosher salt, black pepper, smoked paprika, 1 cup roasted red peppers (jarred)
Full Ingredients
Vegetables
- 2 tbsp olive oil
- 1 large yellow onion, diced (about 2 cups)
- 2 cloves garlic, minced
- 8 oz cremini mushrooms, sliced (about 3 cups)
- 1 medium zucchini, diced (about 1 1/2 cups)
- 4 packed cups baby spinach, roughly chopped
- 1 cup roasted red peppers, chopped (jarred, drained and patted dry)
- 1 cup cherry tomatoes, halved
Egg Mixture
- 10 large eggs
- 1/2 cup whole milk (or half-and-half)
- 1 tsp kosher salt
- 1/2 tsp freshly ground black pepper
- 1/2 tsp smoked paprika
Cheese & Finish
- 1 cup shredded sharp cheddar (about 4 oz)
- 1/4 cup finely grated Parmesan (about 1 oz)
- 2 tbsp chopped fresh herbs (parsley and/or chives)

Step-by-Step Instructions
Step 1: Preheat the oven and prep your pan
Arrange an oven rack in the center and preheat the oven to 375°F. Use a 12-inch oven-safe skillet (cast iron works especially well). If your skillet is not well-seasoned or nonstick, have an extra teaspoon of oil ready in case the veggies start to cling.
Step 2: Sauté the onion until sweet and soft
Set the skillet over medium heat and add 2 tablespoons olive oil. Add the diced onion and cook, stirring occasionally, for 6 minutes, until softened and turning translucent. You’re building the flavor base here, so let the onion take its time.
Step 3: Add garlic, then cook off moisture from hearty vegetables
Add the minced garlic and stir for 30 seconds, just until fragrant.
Add the sliced mushrooms and diced zucchini. Cook for 6–8 minutes, stirring occasionally, until the mushrooms have released their liquid and the pan looks mostly dry again. This step is key for a frittata that bakes up tender, not watery.
Step 4: Wilt the greens and fold in the “color” vegetables
Add the chopped spinach in handfuls and stir for about 1 minute, just until wilted.
Stir in the chopped roasted red peppers and halved cherry tomatoes. Cook for 1 minute to warm through and lightly soften the tomatoes. Use your spoon to spread the vegetables into an even layer across the skillet so every slice gets a good mix.
Step 5: Whisk the eggs and season well
In a large bowl, whisk together the eggs, milk, kosher salt, black pepper, and smoked paprika until the mixture looks uniform and lightly foamy, about 20–30 seconds. Whisking well helps the frittata bake up evenly.
Step 6: Add eggs, top with cheese, and bake until just set
Pour the egg mixture evenly over the vegetables in the skillet. Gently nudge the vegetables with a spatula to help the eggs flow into the gaps.
Sprinkle the cheddar and Parmesan evenly over the top. Transfer the skillet to the oven and bake for 18–22 minutes, until the edges are set and the center is just barely jiggly. If you like a more browned top, broil on high for 1–2 minutes at the end, watching closely so it doesn’t burn.
For accuracy, the frittata is done when the thickest part reaches 160°F on an instant-read thermometer.
Step 7: Rest, finish with herbs, and slice cleanly
Remove the skillet from the oven and let the frittata rest for 10 minutes. Resting helps it finish setting and makes slicing much cleaner.
Sprinkle with the chopped fresh herbs. Slice into 10 wedges and serve warm or at room temperature.
Pro Tips
- Prevent a watery frittata: Cook mushrooms and zucchini until the pan is mostly dry before adding eggs. If your veggies are very juicy, cook 2–3 minutes longer.
- Pat roasted peppers dry: Jarred peppers carry extra moisture; a quick pat with paper towels keeps the eggs custardy, not soupy.
- Don’t overbake: Pull it when the center still has a slight jiggle; residual heat will finish the set while staying tender.
- Use the right pan size: A 12-inch skillet gives a nicely thick, sliceable frittata. Smaller pans may require a longer bake time.
- Clean slicing: Rest 10 minutes, then use a thin knife wiped clean between cuts for tidy wedges.
Variations
- Greens swap: Replace spinach with 3 cups chopped kale or Swiss chard. Sauté kale/chard for 3–4 minutes before adding peppers and tomatoes so it softens.
- Different cheeses: Use 1 cup crumbled feta instead of cheddar, or try 1 cup shredded fontina for extra melt. Keep Parmesan or swap for Pecorino.
- Add protein: Stir in 1 cup cooked, diced ham or 6 oz cooked crumbled sausage with the roasted peppers and tomatoes (warm it through before adding eggs).
Storage & Make-Ahead
Cool leftovers to room temperature, then refrigerate in an airtight container for up to 4 days. Reheat slices in a 325°F oven for 8–10 minutes (best texture), or microwave gently in 30-second bursts until warmed through. For make-ahead, bake the frittata up to 1 day in advance, cool, cover, and refrigerate; rewarm in a 325°F oven for 12–15 minutes before serving. Freezing is possible (wrap individual slices well) for up to 2 months, though the texture will be slightly softer after thawing.
Nutrition (per serving)
Approximate (1/10 of frittata): 230 calories, 14 g protein, 16 g fat, 8 g carbs, 2 g fiber, 4 g sugar, 480 mg sodium.
