Three-Cheese Tomato Frittata with Pesto
This three-cheese tomato frittata comes together in one skillet in about 30 minutes. Sweet baby tomatoes and minced shallot are softened in olive oil and butter, then combined with eggs whisked with cream and parmesan. Before it goes into the oven, the frittata is dotted with spoonfuls of creamy mascarpone and fresh basil pesto and finished with a sprinkle of nutty Gruyère and more parmesan. Fifteen minutes later, the frittata is ready.
Serve it warm for breakfast, bring it to brunch with friends and family, or make it a weeknight dinner with parmesan potato wedges, a side salad, and bread.

Ingredients
Here’s what you need for a frittata that serves 6:

- Eggs – 8 eggs
- Heavy Cream – 1/3 cup heavy cream or double cream. You can substitute with plain Greek yogurt, créme frache, or sour cream (for a slightly tangier flavor) or milk (for a slightly lighter frittata)
- Baby Tomatoes – 8 oz (225 g) baby plum or cherry tomatoes
- Gruyère Cheese – 1/3 cup grated gruyère cheese
- Parmesan – 1/4 cup grated parmesan
- Mascarpone – 1/4 cup mascarpone
- Shallot – 1 small shallot, minced, about 2 tbsp
- Pesto – 2 tbsp fresh basil pesto
- Olive Oil – 1/2 tbsp olive oil
- Butter – 1 tbsp butter
- Salt – salt, to taste
- Black Pepper – a pinch of ground black pepper
Note: This frittata is made in a 10-inch ovenproof skillet that goes from the stove to the oven. However, you can still make this without one. Simply cook the tomatoes and shallot in a nonstick skillet on the stove following steps 1-3. Then, butter an ovenproof baking dish, transfer the tomatoes and shallot to it, and follow steps 4-8 below. As the baking dish will be cold to start with, it will take longer to bake the frittata in the oven (about 20 min+ instead of 15 min, depending on the size of your baking dish).
How to Make It
Step 1. Preheat the oven. Preheat the oven to 400°F / 200°C (180°C fan).
Step 2. Cook the tomatoes. Set a 10-inch (25-cm) ovenproof skillet (a well-seasoned cast iron works well) over medium-high heat. Add the olive oil, then the tomatoes. Make sure the tomatoes are dry so the oil doesn’t splash. Cook for about 4 minutes, moving the tomatoes around the pan. Then, season with a pinch of salt and pepper.

Step 3. Add the butter and minced shallot. Turn the heat down to medium, then add the butter. Once it melts, add the minced shallot and cook for 2–3 minutes until softened. Stir often.

Step 4. Whisk the eggs. While the tomatoes and shallot cook, whisk together the eggs, cream, and a pinch of salt. Stir in half the parmesan to season the eggs.

Step 5. Add the eggs. Turn off the heat under the skillet or take it off the heat, and add the whisked eggs over the tomatoes and shallot, stirring to distribute them equally.

Step 6. Add cheese and pesto. Using a teaspoon, dot small dollops of mascarpone over the eggs, then do the same with the pesto. Sprinkle the gruyère and remaining parmesan over the top.



Step 7. Bake. Transfer the skillet to the oven and bake for about 13-15 minutes, until the eggs are set in the center. Use an oven mitt, since the handle will be very hot.

Step 8. Serve. Let the frittata cool down for 5 min, then slice and serve.

I love to serve the frittata with a side salad like this avocado tomato salad or this cranberry pecan salad and bread or toast. Here, I’ve paired the frittata with a simple lettuce, avocado, and tomato salad with a lemon dijon dressing and a pesto mozzarella baguette toast.

If you love this frittata, tell me all about it, including the occasion, in a review below.
Recipe Card

Ingredients
- 8 eggs
- 1/3 cup heavy cream or double cream you can substitute with plain Greek yogurt, crème fraîche, or sour cream for a slightly tangier flavor or milk for a slightly lighter frittata.
- 8 oz baby plum or cherry tomatoes
- 1/3 cup grated gruyère cheese
- 1/4 cup grated parmesan
- 1/4 cup mascarpone
- 1 small shallot minced, about 2 tbsp
- 2 tbsp fresh basil pesto
- 1/2 tbsp olive oil
- 1 tbsp butter
- salt to taste
- pinch ground black pepper
Instructions
- Preheat the oven. Preheat the oven to 400°F / 200°C (180°C fan).
- Cook the tomatoes. Set a 10-inch (25-cm) ovenproof skillet (a well-seasoned cast iron works well) over medium-high heat. Add the olive oil, then the tomatoes. Make sure the tomatoes are dry so the oil doesn’t splash. Cook for about 4 minutes, moving the tomatoes around the pan. Then, season with a pinch of salt and pepper.
- Add the butter and minced shallot. Turn the heat down to medium, then add the butter. Once it melts, add the minced shallot and cook for 2–3 minutes until softened. Stir often.
- Whisk the eggs. While the tomatoes and shallot cook, whisk together the eggs, cream, and a pinch of salt. Stir in half the parmesan to season the eggs.
- Add the eggs. Turn off the heat under the skillet or take it off the heat, and add the whisked eggs over the tomatoes and shallot, stirring to distribute them equally.
- Add the cheese and pesto. Using a teaspoon, dot small dollops of mascarpone over the eggs, then do the same with the pesto. Sprinkle the gruyère and remaining parmesan over the top.
- Bake. Transfer the skillet to the oven and bake for about 13-15 minutes, until the eggs are set in the center. Use an oven mitt, since the handle will be very hot.
- Serve. Let the frittata cool down for 5 minutes, then slice and serve.
Nutrition
Nutrition information is calculated automatically and is an estimate only. See the full nutrition disclosure below.
Don’t forget to save this frittata recipe to one of your breakfast or brunch boards.

