Imagine thick rounds of fresh mozzarella, seared until golden and slightly crisp on the outside, then draped in a velvety garlic cream sauce studded with tangy sun-dried tomatoes and ribbons of wilted baby spinach. This one-skillet Tuscan-inspired dish delivers the soul-deep comfort of Italian cooking in under 25 minutes, with every bite pulling into those gorgeous, stretchy cheese threads that make mozzarella one of the most irresistible ingredients on the planet. A generous shower of grated Parmesan and a drizzle of peppery olive oil finish this dish with rustic elegance.
With 42 grams of fat and only 5 grams of net carbs per serving, this recipe sits squarely in the keto sweet spot. The combination of heavy cream, olive oil, and two kinds of cheese delivers the high-fat profile your body needs for sustained ketosis, while the protein from mozzarella and Parmesan keeps you satisfied well into the afternoon. Fat accounts for roughly 72% of total calories here — textbook ketogenic ratios without any awkward add-ons.
This is a weekday lunch dream. One skillet, ten minutes of prep, fifteen minutes of cooking, and almost nothing to clean up afterward. It reheats beautifully in a covered skillet over low heat, making it excellent for meal prep. Pack it in a glass container, and you have an office lunch that will make your coworkers genuinely jealous.
Ingredients (serves 2)
For the skillet:
- 8 oz (225g) fresh mozzarella ball, cut into 4 thick rounds (about ¾ inch / 2cm each)
- 2 tablespoons extra-virgin olive oil
- 3 cloves garlic, thinly sliced
- 2 tablespoons (15g) sun-dried tomatoes (oil-packed, drained), roughly chopped
- 3 cups (90g) baby spinach
- ½ cup (120ml) heavy whipping cream
- 2 tablespoons (14g) finely grated Parmesan cheese
- ¼ teaspoon red pepper flakes
- ¼ teaspoon dried oregano
- Salt and freshly ground black pepper, to taste
For finishing:
- 1 tablespoon extra-virgin olive oil, for drizzling
- 4–5 fresh basil leaves, torn
- Freshly cracked black pepper
Instructions
Pat the mozzarella dry. Remove the fresh mozzarella from its liquid and place the rounds between layers of paper towel. Press gently and let sit for 5 minutes. This step is critical — surface moisture will prevent a proper golden sear and cause the oil to splatter.
Heat the skillet. Place a 10-inch (25cm) nonstick or well-seasoned cast-iron skillet over medium-high heat. Add the 2 tablespoons of olive oil and let it shimmer, about 1 minute.
Sear the mozzarella. Carefully place the mozzarella rounds in the hot oil. Cook without moving for 2 to 2½ minutes, until the bottoms turn a deep golden brown. Using a thin spatula, gently flip each round and sear the other side for another 1½ to 2 minutes. The cheese will soften but should hold its shape. Transfer the seared mozzarella to a plate and set aside.
Build the sauce. Reduce the heat to medium-low. In the same skillet, add the sliced garlic and cook for 30 to 45 seconds, stirring constantly, until fragrant and barely golden — do not let it brown. Add the chopped sun-dried tomatoes, red pepper flakes, and dried oregano. Stir for another 30 seconds to let the flavors bloom in the warm oil.
Add the cream. Pour in the heavy cream, stirring to deglaze any golden bits from the bottom of the skillet. Let the sauce simmer gently for 2 to 3 minutes, until it reduces slightly and thickens enough to coat the back of a spoon. Stir in the grated Parmesan until fully melted and smooth.
Wilt the spinach. Add the baby spinach in two batches, using tongs to turn it through the cream sauce. Each batch will wilt down in about 30 to 45 seconds. Season with salt and pepper to taste.
Return the mozzarella. Nestle the seared mozzarella rounds back into the skillet, spooning some of the creamy spinach and sun-dried tomato sauce over the top. Cover the skillet and cook on low heat for 1 to 2 minutes, just until the cheese is warmed through and beginning to ooze at the edges.
Finish and serve. Remove from heat. Drizzle with the remaining tablespoon of olive oil, scatter torn basil leaves over the top, and add a generous crack of black pepper. Serve immediately, straight from the skillet, with a spoon for the sauce.
Nutrition per Serving
| Nutrient | Amount |
|---|---|
| Calories | ~525 kcal |
| Fat | ~42g |
| Protein | ~28g |
| Total Carbs | ~7g |
| Fiber | ~2g |
| Net Carbs | ~5g |
Nutritional values are approximate and may vary depending on the specific brands and measurements used.
Tips & Variations
Choose the right mozzarella. For this recipe, use a good-quality fresh mozzarella ball (the kind packed in water or whey), not the low-moisture block mozzarella sold for shredding. Fresh mozzarella has a creamier, more delicate texture that melts beautifully in the sauce. Burrata makes a stunning upgrade if you want extra indulgence — just skip the searing step and place it in the center of the finished sauce, sliced open.
Watch your sun-dried tomato portions. Sun-dried tomatoes pack concentrated natural sugars, so they can add up quickly on keto. Stick to the 2-tablespoon measurement called for here. Oil-packed varieties tend to have slightly fewer carbs than dry-packed ones and integrate more seamlessly into the cream sauce. Always check the label — some brands add sugar to their packing oil.
Add extra fat if your macros need it. A tablespoon of butter swirled into the finished sauce, or a side of sliced avocado, will bump the fat content without affecting the flavor profile. You can also serve this alongside a small handful of olives for a true Tuscan-style plate.
Make it a more complete meal. This pairs beautifully with a bed of warm zucchini noodles or a pile of shaved raw fennel dressed with lemon and olive oil. Both additions keep carbs minimal while adding satisfying volume. For extra protein, a fried egg on top is an excellent addition.
Storage and reheating. Leftovers keep well in an airtight container in the refrigerator for up to 2 days. Reheat gently in a covered skillet over low heat with a splash of cream to loosen the sauce — the microwave tends to make mozzarella rubbery. For meal prep, store the sauce and cheese together so the mozzarella absorbs flavor as it sits.