High-Protein Shakshuka Recipe with Tomatoes and Poached Eggs

There is something deeply satisfying about a pan of shakshuka bubbling away on the stove in the morning. The rich crimson sauce, the gently trembling eggs, the warmth of cumin and smoked paprika filling your kitchen. This shakshuka recipe with tomatoes and poached eggs takes everything wonderful about the North African and Middle Eastern classic and makes it even better for your body, adding a boost of plant-based protein through red lentils and ramping up the fibre with a generous helping of roasted red peppers and spinach. The result is a breakfast that fuels you properly, keeps you full for hours, and still tastes like pure comfort in a bowl.
Traditional shakshuka is already a pretty wholesome dish, but most versions lean heavily on olive oil and can be light on protein beyond the eggs themselves. Here, a small handful of dried red lentils are stirred into the tomato base as it simmers, breaking down almost completely and thickening the sauce beautifully while quietly adding around 8 grams of extra protein and 4 grams of fibre per serving. You genuinely cannot taste them as a separate ingredient. They simply become part of the sauce, making it heartier and more substantial without changing the flavour profile you already love. A tablespoon of extra virgin olive oil is all you need to sauté the aromatics, keeping the calorie count sensible without sacrificing any of that gorgeous depth.
The spice blend is where this recipe really sings. Ground cumin, smoked paprika, a touch of ground coriander, and a pinch of cayenne pepper build a warm, complex base that pairs brilliantly with the acidity of crushed tomatoes and the sweetness of caramelised onion and red pepper. Fresh garlic goes in at the right moment so it blooms in the oil without burning. A small amount of tomato paste is stirred in early to concentrate everything and give the sauce a deep, almost smoky richness. When the sauce is thick and fragrant, you create little wells and crack your eggs straight in, letting them poach directly in that gorgeous liquid until the whites are set but the yolks are still gloriously runny. If you prefer a firmer yolk, a simple lid on the pan for an extra minute or two sorts that out.
Serving this shakshuka is honestly half the joy. A crumble of reduced-fat feta cheese over the top adds a salty creaminess that contrasts the spiced tomatoes perfectly, and a scatter of fresh flat-leaf parsley or coriander lifts the whole dish with a hit of bright colour and freshness. Serve it straight from the pan with toasted wholegrain flatbread or a slice of sourdough for dipping, and you have a breakfast that covers protein, complex carbohydrates, healthy fats, and a wide range of vitamins and minerals all in one skillet. Each serving clocks in at around 210 calories with 16 grams of protein, making this one of the most nutritionally complete breakfasts you can put together in under 35 minutes. It works just as brilliantly for a weekend brunch as it does for a quick weeknight dinner when you want something warming and effortless.
Ingredients
- 1 tbsp extra virgin olive oil
- 1 medium yellow onion (finely diced)
- 1 large red bell pepper (deseeded and diced)
- 4 cloves garlic (minced)
- 2 tbsp tomato paste
- 1 tsp ground cumin
- 1 tsp smoked paprika
- 0.5 tsp ground coriander
- 0.3 tsp cayenne pepper (adjust to taste)
- 0.5 tsp fine sea salt (plus more to taste)
- 0.3 tsp black pepper (freshly ground)
- 800 g canned crushed tomatoes (two 400g tins, no added sugar)
- 60 g dried red lentils (rinsed well)
- 120 ml low-sodium vegetable stock
- 80 g baby spinach (roughly chopped)
- 6 large free-range eggs (as fresh as possible for best poaching)
- 50 g reduced-fat feta cheese (crumbled)
- 2 tbsp fresh flat-leaf parsley (roughly chopped, to serve)
- 0.5 tsp chilli flakes (optional, to serve)
Instructions
- 1
Heat the olive oil in a large, deep skillet or cast iron pan over a medium heat. Add the diced onion and red bell pepper and cook for 6 to 8 minutes, stirring occasionally, until softened and the onion is just starting to turn golden at the edges.
Do not rush this step. Properly softened onion and pepper build the sweetness that balances the acidity of the tomatoes.
- 2
Add the minced garlic and cook for 1 minute, stirring constantly, until fragrant. Stir in the tomato paste, cumin, smoked paprika, ground coriander, cayenne pepper, salt, and black pepper. Cook for a further 2 minutes, stirring well, so the spices bloom in the oil and the tomato paste darkens slightly.
Cooking the spices in the oil before adding liquid is key. This step unlocks their full flavour and aroma.
- 3
Pour in the crushed tomatoes and vegetable stock. Add the rinsed red lentils and stir everything together until combined. Bring the mixture to a gentle boil, then reduce the heat to low and simmer uncovered for 12 to 15 minutes, stirring occasionally, until the lentils have softened and broken down into the sauce and the mixture has thickened noticeably.
The lentils will disappear almost entirely into the sauce, so do not worry if you cannot see them. They are doing their job quietly.
- 4
Stir the chopped baby spinach into the sauce and cook for 1 minute until wilted. Taste the sauce and adjust the seasoning if needed.
- 5
Using the back of a spoon, create 6 small wells spaced evenly across the surface of the sauce. Carefully crack one egg into each well, taking care not to break the yolks.
Crack each egg into a small cup first, then lower it into the well. This gives you much more control and prevents any shell from getting into the pan.
- 6
Cover the pan with a lid and cook over a low to medium-low heat for 5 to 7 minutes. Check at 5 minutes. The whites should be fully set and opaque while the yolks remain soft and runny. For firmer yolks, cook for the full 7 minutes.
Keep the heat gentle here. High heat will toughen the egg whites and make the base of the sauce catch and burn.
- 7
Remove the pan from the heat. Scatter the crumbled feta, fresh parsley, and chilli flakes over the top. Serve immediately straight from the pan with toasted wholegrain flatbread or sourdough on the side for scooping.
Shakshuka does not wait well once the eggs are cooked, so have your bread ready and get everyone to the table before you take the lid off.
Nutrition per serving
210kcal
Calories
16g
Protein
18g
Carbs
8g
Fat
6g
Fibre
7g
Sugar
420mg
Sodium
Pro Tips
- ✓
Use the freshest eggs you can find. Fresh eggs have firmer whites that hold their shape in the sauce rather than spreading out thinly.
- ✓
A cast iron skillet holds heat beautifully and gives the most even cooking for the eggs, but any wide, deep pan with a lid will work well.
- ✓
If your sauce feels too thick before adding the eggs, splash in a little extra vegetable stock and stir through.
- ✓
This recipe is wonderful at any heat level. Start with the stated amount of cayenne and chilli flakes, then build from there once you know your preference.
- ✓
For meal prep, make the tomato and lentil sauce up to 3 days ahead. Store it in the fridge and reheat in the pan before adding fresh eggs to order.
- ✓
A handful of chopped fresh coriander works just as well as parsley for garnishing if that is what you have on hand.
Frequently Asked Questions
Variations
- •
Green Shakshuka
Replace the crushed tomatoes with blended tomatillos or a combination of green salsa and chicken stock. Add courgette, peas, and extra spinach for a vibrant, verdant version that is just as protein-packed.
- •
Spicy Harissa Shakshuka
Stir a tablespoon of harissa paste into the sauce alongside the tomato paste for an extra kick of heat and a deeper, more complex flavour profile. Start with a small amount and taste as you go.
- •
Chickpea and Tomato Shakshuka
Add a drained tin of chickpeas to the sauce along with the red lentils for an even heartier, higher-fibre dish. This version is particularly filling and works brilliantly as a light dinner.
- •
Turkey Mince Shakshuka
Brown 200 grams of lean turkey mince in the pan before adding the onion and pepper. This creates a meaty, high-protein shakshuka that is genuinely substantial as a protein-forward breakfast.
Substitutions
- •Red lentils → Canned green lentils or cannellini beans (Drain and rinse canned lentils or beans and add them with the tomatoes. They will not dissolve in the same way but will still add protein and fibre.)
- •Reduced-fat feta → Dairy-free feta or nutritional yeast (Dairy-free feta keeps the dish completely plant-based. A tablespoon of nutritional yeast stirred into the sauce adds a savoury, cheesy note without any dairy.)
- •Baby spinach → Kale or Swiss chard (Remove tough stems and chop finely. These denser greens need an extra 2 to 3 minutes of cooking time before they fully wilt into the sauce.)
- •Smoked paprika → Sweet paprika plus a pinch of ground chipotle (If you do not have smoked paprika, sweet paprika gives the colour and mild pepper flavour while a tiny pinch of chipotle adds the smoky element.)
- •Low-sodium vegetable stock → Water with a squeeze of lemon juice (Plain water works fine if you are watching sodium carefully. The lemon juice adds a slight brightness that replicates some of the depth that stock provides.)
🧊 Storage
The tomato and lentil sauce can be cooled and stored in an airtight container in the fridge for up to 3 days. Cooked eggs do not store well, so always poach the eggs fresh in reheated sauce. The sauce also freezes well for up to 2 months. Thaw overnight in the fridge before reheating gently on the stove.
📅 Make Ahead
Prepare the full tomato, lentil, and vegetable sauce up to 3 days in advance and refrigerate. When ready to serve, reheat the sauce in a skillet over medium heat, adding a splash of vegetable stock if it has thickened too much, then proceed with creating wells and poaching the eggs as directed.


