
This hearty Mediterranean Spinach, Tomato & Feta Frittata has become my go-to solution for quick yet nourishing meals. The vibrant colors and bold flavors transport me straight to the Mediterranean coast while providing a protein-packed option that works any time of day.
I first created this frittata when hosting an impromptu brunch for friends. With limited time and ingredients, this dish saved the day and has since become requested whenever anyone visits our home.
Ingredients
- Eggs: the star of the show providing protein and creating the perfect base
- Olive oil: authentic Mediterranean flavor that helps create a crispy exterior
- Baby spinach: adds vibrant color vitamins A and K plus iron
- Cherry tomatoes: burst with sweetness and provide beautiful pops of color
- Yellow onion: creates an aromatic foundation look for firm onions with no soft spots
- Mushrooms: add earthy depth and meaty texture choose firm dry specimens
- Fresh garlic: offers essential Mediterranean flavor crush just before using for maximum impact
- Green olives: bring briny saltiness that balances the creamy eggs
- Feta cheese: adds tanginess and creaminess traditional Mediterranean touch
- Fresh basil: brightens the entire dish with its aromatic qualities
Step-by-Step Instructions
- Prepare the Eggs:
- Whisk eggs vigorously until the whites and yolks are completely incorporated. This creates a uniform texture and ensures even cooking throughout the frittata. I recommend whisking for at least 30 seconds until slightly frothy.
- Cook the Vegetables:
- Heat olive oil in a medium nonstick skillet over low-medium heat until shimmering but not smoking. Add chopped onions and mushrooms, cooking for 3-4 minutes until onions become translucent and mushrooms release their moisture. Stir occasionally to prevent browning.
- Add Greens and Tomatoes:
- Incorporate spinach and halved cherry tomatoes into the skillet. Gently fold the vegetables together until spinach wilts but still maintains its bright green color, approximately 1-2 minutes. The tomatoes should just begin to soften.
- Combine and Cook:
- Pour the whisked eggs slowly over the vegetable mixture, tilting the pan to ensure even distribution. Sprinkle feta cheese and olives evenly across the top. Cover with a tight-fitting lid to trap steam and cook on medium-low heat for 5-10 minutes. The frittata is done when the edges are set and the center is just barely jiggly.
- Season and Serve:
- Remove from heat and let rest for 2 minutes. This allows the residual heat to finish cooking the center. Sprinkle with basil, salt, and pepper according to taste. Cut into wedges and serve warm.

The feta cheese is truly what makes this dish special for me. The first time I used authentic Greek feta rather than the prepackaged variety, the difference was remarkable. My husband who typically avoids eggs completely finished half the frittata himself.
Mastering the Perfect Texture
The key to a perfect frittata lies in the gentle cooking process. High heat will create a rubbery texture, while patient cooking on medium-low heat allows the eggs to set while remaining tender. If you notice the bottom cooking too quickly but the top remains raw, place the skillet under a broiler for the final 1-2 minutes to set the top beautifully.
Make It Your Own
This recipe welcomes endless variations. Try swapping spinach for kale or arugula, using sun-dried tomatoes instead of fresh, or incorporating herbs like dill, oregano, or thyme. For a more substantial meal, add pre-cooked quinoa or roasted sweet potatoes to the vegetable mixture. The Mediterranean theme can easily shift to Italian with mozzarella and basil or Spanish with chorizo and roasted red peppers.

Serving Suggestions
While delicious on its own, this frittata pairs beautifully with a simple side salad dressed with lemon and olive oil. For brunch, serve alongside crusty whole grain bread and fresh fruit. When serving for dinner, roasted vegetables or a Mediterranean grain salad make perfect accompaniments. A dollop of tzatziki or garlic yogurt provides a cooling contrast to the warm frittata.
Storage and Reheating
Store leftover frittata in an airtight container in the refrigerator for up to 3 days. To reheat, place in a 325°F oven for 10 minutes or microwave briefly until just warmed through. For meal prep, cut into individual portions and refrigerate separately for grab-and-go convenience throughout the week. While freezing is possible, the texture is best when enjoyed fresh or within a few days of preparation.
Recipe FAQs
- → Can I bake this frittata in the oven instead of cooking it on the stovetop?
Yes! After adding the eggs and toppings to your oven-safe skillet, you can bake the frittata at 375°F (190°C) for about 15-20 minutes until the eggs are fully set and slightly golden on top. This method ensures even cooking throughout.
- → How can I store leftovers and how long will they keep?
Store leftover frittata in an airtight container in the refrigerator for up to 3-4 days. You can enjoy it cold or reheat individual slices in the microwave for 30-60 seconds, or in a 350°F oven for about 10 minutes until warmed through.
- → Is this frittata suitable for freezing?
Yes, you can freeze this frittata. Allow it to cool completely, then wrap individual slices tightly in plastic wrap and place in a freezer bag. Freeze for up to 2 months. Thaw overnight in the refrigerator before reheating.
- → Can I make this frittata dairy-free?
Absolutely! You can omit the feta cheese entirely or substitute it with a dairy-free cheese alternative. The frittata will still be flavorful from the vegetables, olive oil, garlic, and seasonings.
- → What can I serve with this Mediterranean frittata?
This frittata pairs wonderfully with a simple green salad, roasted potatoes, crusty bread, or a Mediterranean cucumber and tomato salad. For breakfast, serve with fresh fruit or yogurt. For lunch or dinner, consider adding a side of hummus and pita bread.
- → Can I use frozen spinach instead of fresh?
Yes, frozen spinach works well as a substitute. Thaw completely and squeeze out excess moisture before adding to the skillet. Use about 2-3 tablespoons of frozen spinach (thawed and drained) to replace the 1/2 cup fresh baby spinach.