There is something deeply satisfying about slicing into a golden-topped frittata and watching melted mozzarella stretch from the pan. This One-Skillet Caprese Frittata brings together everything you love about the classic Italian flavor combination — creamy fresh mozzarella, sweet cherry tomatoes, fragrant basil, and a nutty parmesan crust — all baked into a silky, custardy egg base. A generous swirl of basil pesto on top ties the whole thing together, turning an ordinary morning egg dish into something that feels almost indulgent. It is the kind of breakfast that makes you want to linger at the table with a cup of coffee and nowhere to rush off to.
With 37 grams of fat and only 3 grams of net carbs per generous serving, this frittata is practically tailor-made for the ketogenic diet. The combination of butter, heavy cream, and two types of cheese ensures fat stays firmly in the driver's seat at roughly 74% of total calories, while 24 grams of protein from eggs and cheese keep you satisfied well past lunchtime. There are no sneaky carb sources hiding here — just real, whole ingredients doing exactly what they should.
Best of all, this is a true one-skillet recipe. Everything goes into a single oven-safe pan, from stovetop to broiler and straight to the table. It comes together in about 25 minutes, making it completely realistic for a weekday morning. Leftovers reheat beautifully for meal prep, and you can slice it into wedges and store them for grab-and-go breakfasts all week.
Ingredients (serves 4)
For the frittata:
- 8 large eggs
- 1/4 cup (60ml) heavy whipping cream
- 6 oz (170g) fresh mozzarella, torn into bite-sized pieces
- 1 oz (28g) Parmigiano-Reggiano, finely grated
- 2 tablespoons (28g) unsalted butter
- 6 cherry tomatoes, halved (about 3 oz / 85g)
- 1 cup (30g) baby spinach
- 2 cloves garlic, thinly sliced
- 1/2 teaspoon fine sea salt
- 1/4 teaspoon freshly ground black pepper
- 1/4 teaspoon red pepper flakes (optional)
For topping:
- 3 tablespoons (45g) basil pesto (store-bought or homemade)
- 5–6 fresh basil leaves
- Flaky sea salt, for finishing
- Extra-virgin olive oil, for drizzling
Instructions
Preheat the broiler. Position an oven rack about 6 inches from the heating element and set your broiler to high. This will be used at the end to finish the frittata and get that gorgeous golden, bubbly top.
Whisk the egg base. In a medium bowl, crack all 8 eggs and add the heavy cream, half of the grated Parmigiano-Reggiano, the salt, black pepper, and red pepper flakes if using. Whisk vigorously until the mixture is smooth and slightly frothy, about 30 seconds. Set aside.
Sauté the aromatics. Place a 10-inch oven-safe skillet (cast iron works beautifully) over medium heat and add the butter. Once the butter has melted and begun to foam, add the sliced garlic. Cook, stirring frequently, for about 60 seconds until the garlic is fragrant and just barely turning golden — do not let it brown or it will become bitter.
Wilt the spinach and add tomatoes. Toss the baby spinach into the skillet and stir it into the butter and garlic. It will wilt down in about 30 seconds. Arrange the cherry tomato halves cut-side down in the pan and let them cook undisturbed for about 1 minute, just until they begin to soften slightly and release a bit of color.
Pour in the eggs. Reduce the heat to medium-low. Give the egg mixture one final whisk, then pour it evenly over the vegetables in the skillet. Use a spatula to gently distribute the spinach and tomatoes so they are spread throughout. Let the eggs cook undisturbed for about 2 minutes until the edges just begin to set.
Add the mozzarella. Scatter the torn pieces of fresh mozzarella evenly across the surface of the frittata, pressing them gently into the egg mixture so they sit partially submerged. Sprinkle the remaining Parmigiano-Reggiano over the top.
Continue cooking on the stovetop. Let the frittata cook on medium-low heat for another 4–5 minutes. The edges should be fully set and pulling away from the sides of the pan slightly, but the center will still look a bit jiggly. This is exactly what you want — the broiler will finish it.
Broil until golden and bubbly. Transfer the skillet to the oven under the preheated broiler. Broil for 3–4 minutes, watching closely, until the top is puffed, golden, and the mozzarella is beautifully melted with spots of caramelization. The center should be set but still have a gentle wobble when you shake the pan — it will continue to firm up as it rests.
Finish and serve. Remove the skillet from the oven (remember the handle is extremely hot — use a thick towel or oven mitt). Dollop the basil pesto in spoonfuls across the surface and use the back of a spoon to create casual swirls. Scatter fresh basil leaves on top, drizzle with a thin stream of extra-virgin olive oil, and finish with a pinch of flaky sea salt. Let the frittata rest in the pan for 2–3 minutes before slicing into 4 wedges and serving.
Nutrition per Serving
| Nutrient | Amount |
|---|---|
| Calories | ~450 kcal |
| Fat | ~37g |
| Protein | ~24g |
| Total Carbs | ~4g |
| Fiber | ~1g |
| Net Carbs | ~3g |
Nutrition values are approximate estimates based on the stated ingredients and standard USDA data. Your results may vary depending on specific brands and product choices.
Tips & Variations
Use the best mozzarella you can find. Since mozzarella is the star of this dish, quality matters. Fresh mozzarella packed in water (fior di latte) melts into beautifully creamy pools and has a delicate, milky flavor that pre-shredded mozzarella simply cannot match. If you can find burrata, tear it over the finished frittata for an especially luxurious version.
Make your own quick keto pesto. Many store-bought pestos add fillers, sugars, or cheap oils that can sneak in extra carbs. To keep it clean, blend together 2 cups fresh basil, 1/3 cup olive oil, 2 tablespoons pine nuts, 1 clove garlic, and 2 tablespoons grated parmesan. This takes under 2 minutes and keeps in the fridge for a week.
Customize the vegetables. The beauty of a frittata is its flexibility. Swap the spinach for thinly sliced zucchini rounds, chopped artichoke hearts, or roasted red pepper strips — all of which stay well within keto carb limits. Just be cautious with onions and bell peppers, which carry more sugar per gram than you might expect.
Meal prep like a pro. This frittata stores exceptionally well. Let it cool completely, then slice into wedges and wrap each one individually in parchment paper. Refrigerate for up to 4 days. Reheat in a 300°F (150°C) oven for 8–10 minutes or microwave for 60–90 seconds. The texture holds up far better with the oven method.
Watch out for hidden carbs in pesto and tomatoes. Cherry tomatoes are relatively low-carb as far as produce goes, but they do contain natural sugars — six halved tomatoes across the whole recipe keeps things safe. Similarly, always check your pesto label: some brands add sugar or use cashews, which bumps up the carb count. When in doubt, opt for a simple basil-and-olive-oil pesto with parmesan.