Healthy Breakfast Recipes

Shakshuka Recipe with Fresh Tomatoes and Feta (High-Protein, Low-Calorie)

High ProteinGluten-FreeMeal PrepNut-Free
Prep Time10 min
Cook Time25 min
Servings4
Calories220 kcal
Health Score6/10
↓ Jump to recipe
Shakshuka Recipe with Fresh Tomatoes and Feta (High-Protein, Low-Calorie)

If you have ever wanted a breakfast that genuinely fills you up without leaving you feeling heavy, this shakshuka recipe with fresh tomatoes and feta is exactly that. It is a vibrant, one-pan dish built on a deeply spiced tomato base, with eggs poached right in the sauce and creamy crumbled feta layered on top. Every bite gives you something warm, savoury, and deeply satisfying. This version leans into freshness by using ripe, chopped fresh tomatoes instead of canned, which brings a brighter, slightly sweeter flavour and a lighter texture to the sauce.

What makes this recipe genuinely healthier than most shakshuka versions out there is the careful balance of ingredients. We use a full six eggs for four servings, which bumps up the protein to around 18 grams per serving. The addition of baby spinach stirred into the sauce near the end adds fibre, folate, and iron without changing the flavour profile at all. Feta cheese brings a salty, creamy richness, but because it is so flavourful, you only need a small amount. That keeps the sodium in check while still giving you that classic Mediterranean finish. The whole dish clocks in at around 220 calories per serving, which is genuinely impressive for something this filling and flavourful.

The spice blend here is worth talking about. Ground cumin, smoked paprika, and a small pinch of cayenne work together to build a warm, complex base. Turmeric is a quiet addition that most shakshuka recipes skip, but it adds an earthy depth and a beautiful golden hue to the sauce. Fresh garlic and red onion are cooked low and slow until they soften and turn slightly sweet before the tomatoes go in. That step is important because it builds the flavour foundation of the entire dish. Rushing it means a thinner, less layered sauce, so give it the full five minutes it needs. A handful of fresh herbs, either flat-leaf parsley or coriander depending on your preference, stirred in at the end lifts everything and keeps it tasting bright and fresh.

This dish comes together in about 30 minutes from start to finish, making it realistic for a weekday morning or a leisurely weekend brunch. It works beautifully served straight from the skillet at the table with warm wholegrain flatbread or toasted sourdough on the side for dipping. If you are meal prepping, the tomato base can be made up to three days in advance and refrigerated, so all you need to do on the morning is reheat the sauce, crack in the eggs, and you have a restaurant-quality breakfast in under ten minutes. It is also naturally gluten-free, which makes it a crowd-pleasing option if you are cooking for a group with mixed dietary needs.

Ingredients

Serves:4
  • 1 tbsp extra virgin olive oil
  • 1 medium red onion (finely diced)
  • 1 medium red bell pepper (deseeded and diced)
  • 4 cloves garlic (minced)
  • 700 g ripe fresh tomatoes (roughly chopped, about 5 to 6 medium tomatoes)
  • 2 tbsp tomato paste (no added salt where possible)
  • 1 tsp ground cumin
  • 1 tsp smoked paprika
  • 0.5 tsp ground turmeric
  • 0.3 tsp cayenne pepper (adjust to taste)
  • 0.5 tsp ground coriander
  • 0.3 tsp fine sea salt (or to taste)
  • 0.3 tsp black pepper (freshly ground)
  • 60 g baby spinach (fresh, roughly chopped)
  • 6 large free-range eggs
  • 60 g reduced-fat feta cheese (crumbled)
  • 2 tbsp fresh flat-leaf parsley or coriander (roughly chopped, to serve)
  • 0.5 tsp chilli flakes (optional, for serving)

Instructions

  1. 1

    Heat the olive oil in a large, deep skillet or wide saucepan over medium heat. Add the diced red onion and red bell pepper. Cook for 5 to 6 minutes, stirring occasionally, until softened and the onion is just starting to turn translucent.

    Do not rush this step. Soft, slightly sweet onion is the backbone of a good sauce.

  2. 2

    Add the minced garlic to the pan and cook for another 60 seconds, stirring constantly, until fragrant. Stir in the cumin, smoked paprika, turmeric, cayenne, and ground coriander. Toast the spices in the oil for 30 seconds, stirring continuously.

    Toasting the spices directly in the oil unlocks far more flavour than adding them with the tomatoes.

  3. 3

    Add the chopped fresh tomatoes and tomato paste. Stir everything together well, pressing the tomatoes slightly with the back of your spoon. Season with salt and black pepper. Reduce the heat to medium-low and simmer uncovered for 12 to 15 minutes, until the tomatoes have broken down into a thick, rich sauce.

    If your tomatoes are not very ripe or juicy, add 2 to 3 tablespoons of water or vegetable stock to keep the sauce from catching.

  4. 4

    Stir the baby spinach into the sauce and allow it to wilt for about 1 minute.

  5. 5

    Use a spoon to create 6 small wells in the tomato sauce. Crack one egg into each well. Scatter half the crumbled feta over the sauce around the eggs. Place a lid on the pan and cook over low heat for 5 to 7 minutes, until the egg whites are just set but the yolks are still slightly runny.

    Check at 5 minutes. The residual heat will continue cooking the eggs after you remove the lid, so pull them slightly before your preferred doneness.

  6. 6

    Remove from the heat. Scatter the remaining crumbled feta over the top, followed by the fresh parsley or coriander and optional chilli flakes. Serve immediately, straight from the pan.

    Serve with warm wholegrain flatbread or toasted sourdough for dipping.

Nutrition per serving

220kcal

Calories

18g

Protein

14g

Carbs

11g

Fat

4g

Fibre

8g

Sugar

390mg

Sodium

Pro Tips

  • Use the ripest fresh tomatoes you can find. Roma or vine-ripened tomatoes work especially well because they have a lower water content and a richer flavour.

  • If you prefer fully set yolks, simply leave the lid on for an extra 2 to 3 minutes on low heat.

  • Crack each egg into a small bowl or ramekin first before sliding it into the sauce. This helps you avoid shell fragments and gives you more control over placement.

  • A wide, heavy-based pan ensures even heat distribution and helps the sauce simmer without burning at the edges.

  • Do not skip the tomato paste. It adds concentrated depth that fresh tomatoes alone cannot fully provide.

  • Taste the sauce before adding the eggs and adjust seasoning. The feta will add saltiness, so err on the side of less salt at this stage.

Frequently Asked Questions

Can I use fresh tomatoes instead of canned in shakshuka?

Absolutely, and this recipe is built around fresh tomatoes. Ripe fresh tomatoes create a brighter, less acidic sauce compared to canned. Roma and vine-ripened varieties work best. If your tomatoes are a little under-ripe, a tablespoon of extra tomato paste helps deepen the flavour.

What does feta add to shakshuka?

Feta brings a creamy, salty, tangy contrast to the warm spiced tomato sauce. It also adds a small protein boost and a satisfying richness without requiring large amounts of oil or cream. Using reduced-fat feta keeps the calories lower while keeping that distinctive flavour intact.

How do I stop the eggs from overcooking in shakshuka?

The key is to use low heat once the eggs go in and keep a close eye on them. Set a timer for 5 minutes and check the whites. The heat from the sauce continues cooking the eggs even after the lid is removed, so pull them off the heat just before they reach your preferred texture.

Is this shakshuka recipe gluten-free?

Yes, the shakshuka itself is completely gluten-free. Just be mindful of what you serve it with. Opt for a certified gluten-free flatbread or leave out the bread entirely if you need to keep it strictly gluten-free.

Can I make the tomato sauce ahead of time?

Yes, the tomato base keeps well in an airtight container in the refrigerator for up to 3 days. When you are ready to eat, simply reheat the sauce in a skillet over medium heat until bubbling, then create wells and add your eggs as normal.

How many calories are in this shakshuka with feta?

Each serving contains approximately 220 calories, with around 18 grams of protein. That makes it one of the more filling, lower-calorie hot breakfast options you can make in under 30 minutes.

Variations

  • Spicy Harissa Shakshuka

    Stir 1 tablespoon of harissa paste into the tomato sauce along with the spices for a deeper, more complex heat. Reduce or omit the cayenne if you prefer a milder overall spice level.

  • Chickpea Shakshuka

    Add one 400g can of drained, rinsed chickpeas to the tomato sauce before the eggs go in. This boosts the plant-based protein and fibre content significantly and makes the dish even more substantial.

  • Green Shakshuka Variation

    Replace the fresh tomatoes with a base of blended tomatillos, courgette, and extra spinach for a green shakshuka. Keep the feta topping and spice profile the same.

  • Turkey Mince Shakshuka

    Brown 150g of lean turkey mince in the skillet before adding the onion. Drain any excess liquid, then proceed with the recipe as normal. This version is especially high in protein, coming in at around 28 grams per serving.

Substitutions

  • Fresh tomatoesOne 400g can of chopped tomatoes (If fresh ripe tomatoes are not available, a good quality can of chopped tomatoes works well. Reduce the simmering time to 8 to 10 minutes as canned tomatoes break down faster.)
  • Reduced-fat feta cheeseFull-fat feta or goat cheese (Full-fat feta gives a creamier result. Goat cheese crumbles similarly and adds a slightly more tangy, earthy note to the finished dish.)
  • Baby spinachKale or Swiss chard (Finely shredded kale or Swiss chard can replace spinach. Both take slightly longer to wilt, so add them 2 to 3 minutes before the spinach would normally go in.)
  • Red bell pepperYellow bell pepper or roasted peppers (Any colour of bell pepper works here. Jarred roasted peppers can be used for a sweeter, smokier flavour and no additional cooking time needed.)
  • Olive oilAvocado oil (Avocado oil has a higher smoke point and a neutral flavour. It is a solid swap if you prefer it or are cooking at a slightly higher heat.)

🧊 Storage

Shakshuka is best eaten fresh, directly from the pan. If you have leftover sauce without eggs, store it in an airtight container in the refrigerator for up to 3 days. Reheat the sauce gently on the stovetop and add fresh eggs when serving. Leftover shakshuka with eggs already cooked in it can be refrigerated for up to 1 day, though the yolks will firm up on reheating.

📅 Make Ahead

The spiced fresh tomato base can be prepared up to 3 days in advance and stored in an airtight container in the refrigerator. This cuts the morning cooking time down to around 10 minutes. Reheat the sauce gently in a skillet, add the spinach, create wells, crack in the eggs, and finish as directed. The sauce can also be frozen for up to 2 months. Thaw overnight in the refrigerator before reheating.