Shakshuka

This post may contain affiliate links.

Jump to Recipe

Shakshuka is a North African dish of eggs cracked directly into a thick, spiced tomato-and-pepper sauce and cooked in one pan — ready in 35 minutes using eight ingredients. The technique that makes or breaks it: the sauce must reduce to near-jam consistency before the eggs go in. A thin sauce spreads the whites too wide and you get rubbery edges with a raw centre.

Classic Shakshuka served on white ceramic plate

What you are making is essentially a spiced tomato sauce — onion, red pepper, garlic, cumin, paprika, coriander, crushed tomatoes — that you build in 20 minutes in one pan. Once the sauce is thick and the flavours have collapsed into each other, you make shallow wells with a spoon, crack in the eggs, and cover the pan. Six to eight minutes later, it is done. The eggs finish gently in the residual steam, whites set, yolks still running.

Shakshuka works as breakfast, brunch, or a light dinner. Serve it directly from the pan with warm pita bread to scoop up the sauce, or turn it into a full spread with a bowl of hummus alongside. The recipe scales simply — same pan, same timing, just more eggs and a wider skillet.

Where Does Shakshuka Come From?

Shakshuka most likely originated in Tunisia or Libya, where a similar dish of eggs cooked in tomato sauce has been made for generations. It spread east across the Ottoman Empire and is now a standard part of the breakfast table in Israel, Egypt, Turkey, and much of the Arab world. The name comes from Arabic — roughly translated, it means “all mixed up” or “a mixture.” Food writer Claudia Roden, who documented the dish in her 1972 classic A Book of Middle Eastern Food, describes it plainly: “This is a dish of Tunisian origin which today is eaten in most Middle Eastern countries.”

The traditional Tunisian version uses green peppers, not red — they produce a slightly sharper, less sweet sauce. Red bell pepper became the standard in Israeli and Western adaptations because it softens more readily and has a milder flavour. Both are correct. The dish shares a close cousin in Italian cooking: uova in purgatorio (eggs in purgatory), which uses a simpler tomato-garlic sauce without the North African spice profile. Shakshuka is defined by cumin and paprika — those two spices are non-negotiable regardless of which version you make.

Ingredients

Ingredients for Classic Shakshuka laid out on wooden board

For the Sauce

  • 2 tbsp olive oil
  • 1 medium onion, finely diced
  • 1 red bell pepper, seeded and diced
  • 4 garlic cloves, finely minced
  • 1 tsp ground cumin
  • 1 tsp sweet paprika
  • ½ tsp ground coriander
  • ¼ tsp cayenne pepper (optional — for heat)
  • 1 can (800g / 28 oz) crushed tomatoes
  • 1 tsp sugar
  • ½ tsp salt, plus more to taste
  • Black pepper to taste

Eggs and Finish

  • 5–6 large eggs
  • Small handful fresh flat-leaf parsley or cilantro, roughly chopped

Optional

  • 80g / 3 oz crumbled feta cheese — added before the eggs for a creamier result

The Recipe

Classic Shakshuka on plate, ready to serve

Classic Shakshuka

Eggs poached directly in a thick, spiced tomato-and-pepper sauce — one pan, 35 minutes, naturally vegetarian and gluten-free. The key is reducing the sauce to near-jam consistency before the eggs go in.
Prep Time 10 minutes
Cook Time 25 minutes
Total Time 35 minutes
Course Breakfast
Cuisine Middle Eastern
Servings 4 servings
Calories 235 kcal

Ingredients
  

For the Sauce

  • 2 tbsp olive oil
  • 1 medium onion finely diced
  • 1 red bell pepper seeded and diced
  • 4 garlic cloves finely minced
  • 1 tsp ground cumin
  • 1 tsp sweet paprika or smoked
  • ½ tsp ground coriander
  • ¼ tsp cayenne pepper optional
  • 800 g crushed tomatoes 1 can (28 oz)
  • 1 tsp sugar
  • ½ tsp salt plus more to taste

Eggs and Finish

  • 5 large eggs or 6
  • fresh flat-leaf parsley small handful, roughly chopped

Optional

  • 80 g feta cheese crumbled, added before eggs

Instructions
 

  • Heat olive oil in a large, deep skillet (cast iron is ideal) over medium heat. Add the onion and bell pepper. Cook, stirring occasionally, for 8 minutes until soft and lightly golden at the edges.
  • Add garlic, cumin, paprika, coriander, and cayenne if using. Stir constantly for 1 minute until fragrant. The spices bloom directly in the oil — this step builds most of the flavour.
  • Pour in the crushed tomatoes. Add sugar, salt, and black pepper. Stir to combine. Simmer uncovered on medium heat for 10–12 minutes, stirring occasionally, until the sauce has reduced by roughly a third. Drag a spoon through it — it should hold a clear trail for a few seconds. Do not skip this step.
  • Taste and adjust seasoning. If using feta, scatter it over the sauce now. Make 5–6 shallow wells in the sauce using a large spoon. Crack one egg into each well. Season the eggs lightly with salt.
  • Cover the pan with a lid and reduce heat to medium-low. Cook for 6–8 minutes. Check at 6 minutes — the whites should be fully set and opaque, the yolks still soft and glossy. Remove from heat immediately. Scatter fresh parsley over the top and serve directly from the pan.

Notes

The sauce must hold a trail when you drag a spoon through it before the eggs go in — if it’s still liquid, simmer longer. A thin sauce spreads the egg whites too wide and they cook unevenly. Use a lid that fits snugly; the eggs cook in the steam. Check at 6 minutes — they go from runny yolks to hard-set in under 2 minutes. Cast iron holds heat and will continue cooking the eggs 30 seconds after you lift the lid, so pull slightly early if you want them runny. Don’t crowd the eggs — a 30cm (12-inch) skillet fits 5–6 comfortably.
Keyword eggs in tomato sauce, middle eastern breakfast, north african shakshuka, shakshuka, shakshuka recipe

How to Make Shakshuka

Step 1 of making Classic Shakshuka — Sauteing vegetables
Step 1: Sauteing vegetables
Step 2 of making Classic Shakshuka — Thick tomato sauce
Step 2: Thick tomato sauce
Step 3 of making Classic Shakshuka — Cracking eggs into sauce
Step 3: Cracking eggs into sauce
Step 4 of making Classic Shakshuka — Finished shakshuka
Step 4: Finished shakshuka

Build the base. Heat olive oil in a large, deep skillet — cast iron is ideal — over medium heat. Add the onion and bell pepper. Cook, stirring occasionally, for 8 minutes until soft and starting to turn golden at the edges.

Add the spices. Add garlic, cumin, paprika, coriander, and cayenne if using. Stir constantly for 1 minute. You are blooming the spices directly in the oil — this extracts their flavour fully. The mixture will be fragrant and slightly darkened.

Build and reduce the sauce. Pour in the crushed tomatoes. Add the sugar, salt, and pepper. Stir to combine. Simmer uncovered on medium heat for 10–12 minutes, stirring occasionally, until the sauce has thickened and reduced by roughly a third. Drag a spoon through it — it should hold a clear trail for 2–3 seconds. This step is not optional. A thin sauce will cause the egg whites to spread and cook unevenly.

Add eggs. If using feta, scatter it over the sauce now. Make 5–6 shallow wells in the sauce using a large spoon. Crack one egg into each well. Season the eggs lightly with salt.

Cook the eggs covered. Cover the pan with a lid and reduce heat to medium-low. Cook for 6–8 minutes. Check at 6 minutes — the whites should be fully set and opaque, the yolks still soft. They go from runny to hard-set quickly. Remove from heat as soon as the whites are done.

Scatter fresh parsley or cilantro over the top and serve immediately, directly from the skillet. Bring the pan to the table.

The stirred version. Some traditional recipes — including the Tunisian original — do not leave the eggs whole. Instead, once cracked into the sauce, the eggs are stirred and blended with the vegetables until the mixture becomes creamy and loose, more like a soft scramble than distinct poached eggs. The texture is completely different: no runny yolk, no set white — just a unified, custardy sauce. It is worth trying at least once.

Can I Add Feta to Shakshuka?

Yes — feta is one of the most common additions and it changes the dish noticeably. The timing matters: add crumbled feta before the eggs, not after. Feta added to warm sauce softens slightly and releases some of its salt into the tomatoes, which balances the acidity. Feta added on top at the end stays crumbly and separate, which is fine for texture but doesn’t integrate into the sauce the same way.

Use about 80g (3 oz) of crumbled feta per batch. Bulgarian or Greek feta works best — it’s creamier and less aggressively salty than some varieties. If your feta is very salty, reduce the added salt in the sauce by half and taste before adjusting.

Tips for Perfect Results

  • Reduce the sauce fully before adding eggs. This is the single most important step. Undercooked sauce = watery eggs. Run a spoon through — it should hold a trail.
  • Use a lid that fits. The eggs cook from above in the steam. A lid that doesn’t seal properly extends cooking time and produces uneven results.
  • Cast iron vs stainless steel. Cast iron holds heat well and works fine for a 25-minute cook. The concern is long-term: tomato acidity slowly erodes cast iron seasoning over repeated use. For shakshuka specifically, it is not a problem — but if your cast iron is new or lightly seasoned, a heavy stainless steel or enamelled cast iron pan is safer. Either works for the recipe itself.
  • Broiler option for perfect yolks. Instead of covering the pan for the full 6–8 minutes, cook on the stovetop for 5 minutes uncovered, then transfer to a 200°C (400°F) oven or broiler for 1 minute. The top heat sets the whites completely while keeping yolks runny — more controlled than the lid method.
  • Don’t crowd the eggs. Each egg needs enough sauce around it so the white can set without merging into the others. A 30cm (12-inch) skillet fits 5–6 eggs comfortably.
  • Bloom the spices in the oil before the tomatoes go in — 60 seconds of direct heat activates the volatile oils in cumin and paprika. Skipping this step produces a noticeably flat sauce.
  • Taste before you serve. Canned tomatoes vary widely in acidity. The 1 tsp sugar is a starting point — you may need a pinch more or a little more salt once the sauce has reduced.

Substitutions

Fire-Roasted Crushed Tomatoes

Swap standard crushed tomatoes for fire-roasted crushed tomatoes (same quantity — 800g / 28 oz). They add a faint smokiness to the sauce without changing the spice balance. This is particularly good if you are using sweet paprika rather than smoked — the fire-roasted tomatoes fill in the depth that smoked paprika would otherwise provide. Taste before adding extra sugar; fire-roasted tomatoes are often slightly sweeter than standard crushed.

Fresh Tomatoes Instead of Canned

You can use fresh tomatoes, but the result will vary. Use 1kg (2.2 lb) of ripe plum or Roma tomatoes, roughly chopped. The sauce will take 5–8 minutes longer to reduce, and the flavour will be less concentrated than canned unless the tomatoes are very ripe and in season. Out of season, canned crushed tomatoes are reliably better — they are picked and processed at peak ripeness. If using fresh, add 1 tbsp tomato paste to compensate for the depth.

Different Peppers

Red bell pepper is standard, but the choice affects sweetness and heat. Green pepper is less sweet and slightly bitter — it works, but it produces a sharper-tasting sauce. For heat, replace some or all of the red bell pepper with 2–3 fresh red chillies (seeded for medium heat, unseeded for hot). Jarred roasted peppers are a good shortcut — drain and add them with the tomatoes, skipping the sauté step for the pepper entirely.

Smoked Paprika Instead of Sweet

Smoked paprika (pimentón) adds a distinct smokiness that works well with eggs. Use the same quantity — 1 tsp — but note it produces a darker, more complex sauce. Some recipes use a mix of ½ tsp sweet and ½ tsp smoked, which gives depth without the smokiness dominating. Avoid hot paprika unless you want significant heat, since it stacks with the cayenne.

Adding Meat — Merguez or Lamb

Brown 200g (7 oz) of merguez sausage or lamb mince in the same pan before you add the onion. Break it up, cook until no pink remains, then continue with the recipe. The fat from the sausage replaces some of the olive oil. Merguez already contains cumin and paprika — reduce the added cumin by half to avoid over-spicing. This turns the dish from vegetarian to a full one-pan meat meal.

Without Eggs — A Vegan Version

Make the sauce as written through the reduction step, then spoon it over firm silken tofu cut into 3cm cubes — or serve it as a thick dipping sauce alongside roasted vegetables and bread. The sauce itself is naturally vegan. For something closer to the egg texture, use 200g (7 oz) of silken tofu in egg-shaped pieces pushed into the sauce and heated through — it won’t taste the same, but the concept holds.

Make Ahead

The tomato sauce can be made up to 3 days ahead and stored in an airtight container in the refrigerator. Reheat it gently in the skillet over medium heat, stirring occasionally, until it returns to a full simmer and thickens back up — add 2–3 tbsp of water if it has thickened too much during storage. Then add the eggs fresh and proceed as normal. Do not add the eggs and then store the dish — poached eggs do not reheat well.

The sauce also freezes well. Portion it into a zip-lock bag or freezer container and freeze for up to 2 months. Thaw overnight in the refrigerator, then reheat in the pan and add eggs fresh.

Storage

Shakshuka is best eaten straight from the pan. If you have leftover sauce without eggs, it keeps refrigerated for 3 days in an airtight container. Leftover shakshuka with eggs in it can be refrigerated and reheated, but the eggs will overcook on reheating — the yolks turn hard and the whites go rubbery. The flavour is still fine as a leftovers situation, but it won’t have the runny-yolk texture of the original. For that reason, make only as many eggs as you’ll eat.

What do you serve with shakshuka?

Shakshuka is traditionally served with warm pita bread or crusty white bread to scoop up the sauce. A simple green salad or sliced cucumber and tomatoes alongside turns it into a full meal. In a mezze spread, serve it with hummus and baba ganoush.

Can I make shakshuka ahead of time?

The tomato sauce can be made up to 3 days ahead and refrigerated. Reheat it in the skillet until simmering, then add fresh eggs and cook as normal. Do not store cooked eggs in the sauce — they overcook on reheating.

What is the difference between shakshuka and eggs in purgatory?

Both are eggs poached in tomato sauce, but the spice profile is different. Shakshuka uses cumin, paprika, and coriander — the North African spice combination. Eggs in purgatory (uova in purgatorio) is the Italian version: a simpler tomato-garlic sauce, sometimes with chilli flakes, without cumin or coriander.

Can you reheat shakshuka?

Sauce only reheats well — store it without eggs and add fresh eggs when reheating. If the full dish is reheated, the eggs will overcook. The sauce stays good refrigerated for 3 days or frozen for 2 months.

Is shakshuka spicy?

The base recipe is mild to medium. Cayenne is optional — leave it out for a completely mild version. Paprika adds colour and flavour, not heat. For a spicier version, add ¼–½ tsp cayenne, or sauté 1–2 fresh chillies with the onion.

Is shakshuka gluten-free?

Yes — all main ingredients (eggs, tomatoes, peppers, spices, olive oil) are naturally gluten-free. Check that your spices are certified gluten-free if cross-contamination is a concern.

If you made this recipe, leave a rating below — it helps other cooks find it.

Did you make this recipe?

Rate the recipe in your comment below — it helps other home cooks find the best recipes.

Or share with friends:

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating