Shakshuka is the kind of dinner that happens by accident — a can of tomatoes, some eggs, and twenty minutes later there’s a cast iron on the table that looks like you planned something.
The dish originates in North Africa and spread across the Middle East and Mediterranean — it’s common across Tunisia, Libya, Israel, and Turkey, with each region’s version differing in the spice blend, what goes in alongside the tomatoes, and how runny the yolks are served. What all versions share is the same principle: a spiced tomato sauce cooked down until thick and fragrant, then used as a poaching liquid for eggs. The eggs cook gently in the steam and heat of the sauce, setting the whites while leaving the yolks soft and saucy. It works for breakfast, lunch, or dinner. It comes together in one pan. It reheats well. It’s the sort of recipe that earns a spot in permanent rotation almost immediately.
The version here is built around cumin, smoked paprika, and a small amount of cayenne — warm and lightly smoky without being aggressively spiced. Feta crumbled on at the end adds a salty counterpoint that cuts through the richness of the sauce. The only real skill involved is reading the eggs: you want the whites fully set and the yolks still jammy, and the window between undercooked and overdone is about two minutes. A glass lid helps enormously.
What You’re Learning
Poaching in sauce. Poaching eggs in water is about precise temperature control — water held just below a simmer, vinegar to help the whites cohere, enough depth for the egg to float. Poaching in sauce is easier and more forgiving. The sauce cushions the egg, the heat is indirect, and the result is more flavourful because the egg absorbs the sauce as it sets. The key insight is that the sauce needs to be at a gentle simmer (not boiling) when the eggs go in, and the pan needs to be covered so steam sets the tops of the whites. Without a lid, the tops stay raw while the bottoms overcook.
Building a spiced base. The difference between shakshuka that tastes like spiced tomato soup with eggs and one that tastes deeply savoury and layered is in the base. The sequence matters: soften the aromatics, bloom the spices in the residual oil before the tomatoes go in, then cook the sauce until it thickens and concentrates rather than adding the eggs right away. A properly reduced sauce — thick enough that a spoon dragged across it leaves a channel for a few seconds — gives the eggs something to sit in rather than swim in. That concentration is what separates a finished dish from a quick one.
Ingredients
Makes 4 servings (2 eggs each).
- 8 large eggs
- 2 tbsp olive oil
- 1 large yellow onion, diced
- 1 red bell pepper, diced
- 4 garlic cloves, minced
- 1½ tsp ground cumin
- 1½ tsp smoked paprika
- ¼ tsp cayenne pepper, plus more to taste
- One 28 oz (794g) can crushed tomatoes
- 1 tsp fine salt, plus more to taste
- ½ tsp sugar (optional — balances acidity)
To finish (optional but recommended): 3 oz (85g) crumbled feta, a small handful of fresh parsley or cilantro, crusty bread for serving.
Method
1. Build the base
Heat the olive oil in a large skillet or wide, shallow pan over medium heat. Add the onion and red pepper with a pinch of salt. Cook, stirring occasionally, for 8 to 10 minutes until the vegetables are completely softened and starting to take on a little colour. Add the garlic and cook for 1 minute more until fragrant.
2. Bloom the spices
Push the vegetables to the edges of the pan. Add the cumin, smoked paprika, and cayenne to the centre of the pan and stir them into the oil remaining in the pan. Cook for 30 seconds, stirring constantly, until the spices are fragrant. Stir everything together so the spices coat the vegetables.
3. Add the tomatoes and reduce
Pour in the crushed tomatoes. Season with salt and add sugar if using. Stir to combine, then increase the heat to bring the sauce to a simmer. Reduce heat to medium-low and cook, uncovered, for 10 to 15 minutes, stirring occasionally, until the sauce has thickened and concentrated — it should mound slightly on a spoon. Taste and adjust salt and cayenne.
4. Add the eggs
Use a spoon to make 8 shallow wells in the sauce, spaced evenly. Crack an egg into each well. Season the eggs lightly with salt and a small pinch of cayenne. Cover the pan with a lid (or a sheet of foil) and cook over medium-low heat for 5 to 8 minutes. At 5 minutes, check: the whites should be fully set and opaque, and the yolks should still be soft and slightly jiggly when you shake the pan gently. If the whites are still translucent, cover and cook for another minute. Avoid overcooking — rubbery yolks ruin the dish.
5. Finish and serve
Remove from heat. Scatter crumbled feta over the top if using, then finish with fresh parsley or cilantro. Bring the pan to the table and serve directly from it — shakshuka doesn’t hold well once plated. Serve with crusty bread for scooping.
Notes
- A glass lid is the best tool here. You need to monitor the eggs without letting steam escape. If you don’t have one, check every minute from the 5-minute mark rather than lifting the lid repeatedly.
- The sauce can be made ahead. Cook the tomato base through step 3 and refrigerate for up to 3 days. When ready to serve, reheat the sauce in the pan until simmering, then proceed with the eggs from step 4. The eggs themselves can’t be made ahead.
- Variations. Add a tablespoon of harissa to the tomato sauce for heat and North African depth. Swap feta for labneh or ricotta. Add a handful of baby spinach before the eggs for greens. A few sliced merguez sausages browned in the pan before the onions adds smokiness and protein.
- Scale carefully. Eggs in a crowded pan don’t cook evenly. If serving more than 4, use two pans or cook in two batches rather than cramming 12 eggs into one skillet.
- Bread is not optional. The whole point of shakshuka is the sauce — runny yolks broken into spiced tomatoes scooped up with crusty bread. A thick slice of sourdough or a warm pita is the required vehicle.







