Shakshuka in a cast iron skillet with six poached eggs nestled in rich red spiced tomato and pepper sauce, topped with crumbled feta and chopped parsley

Shakshuka Recipe: Eggs Poached in Spiced Tomato Sauce

Quick Answer

Shakshuka is made by simmering a spiced tomato and pepper sauce in a skillet, then cracking eggs directly into wells in the sauce and covering to poach them until the whites are set but yolks are still runny. The whole process takes about 30 minutes from start to finish.

A coworker named Daniel made shakshuka at a Saturday brunch he hosted and I had never had it before and was not sure about the concept of eggs poached in tomato sauce at eleven in the morning. I ate it anyway because it was there and I was hungry and I stopped being unsure about the concept approximately two bites in. It was the kind of dish that recontextualizes a whole meal category — I had been making eggs in all the wrong ways for years and here was this skillet of spiced tomato with eggs nested in it and it was the best thing on the table.

The tomato sauce is not an afterthought. It's the whole dish. You bloom cumin and smoked paprika and maybe some harissa paste in olive oil until fragrant, add sliced onion and bell pepper and cook them until soft and slightly sweet, add garlic and crushed tomatoes and let the whole thing simmer for fifteen minutes until it's thick and deeply flavored. That sauce is what the eggs are poaching in, and if the sauce is flat, the eggs taste like they're sitting in something flat.

Make wells in the sauce with a spoon and crack the eggs directly into them. Cover the pan and cook three to five minutes until the whites are set but the yolks are still runny. The runny yolk mixes with the tomato sauce when you break it and turns into something that needs bread, specifically, to address properly.

Daniel made it again at the next brunch. I've been making it at home since the first one. It's fast, it's one pan, and it's genuinely good at any hour of the day, which makes it the most honest egg dish I know.

Prep10 minutes
Cook25 minutes
Total35 minutes
Serves4 servings
DifficultyEasy

Ingredients

  • 3 tablespoons olive oil
  • 1 medium yellow onion, diced
  • 1 red bell pepper, seeded and diced
  • 4 garlic cloves, minced
  • 2 teaspoons ground cumin
  • 1½ teaspoons smoked paprika
  • 1 teaspoon sweet paprika
  • ¼ teaspoon cayenne pepper (more to taste)
  • ½ teaspoon kosher salt, plus more to taste
  • ¼ teaspoon black pepper
  • 1 (28-ounce) can whole peeled tomatoes, crushed by hand
  • 1 teaspoon sugar
  • 6 large eggs
  • ¼ cup crumbled feta cheese (optional)
  • Fresh flat-leaf parsley or cilantro, chopped, for serving
  • Crusty bread or pita, for serving

Instructions

  1. 1Heat a large (12-inch) cast iron or heavy-bottomed skillet over medium heat. Add the olive oil and let it warm until it shimmers, about 1 minute.
  2. 2Add the diced onion and red bell pepper to the skillet. Cook, stirring occasionally, until softened and the onion is translucent, about 7-8 minutes. Don't rush this step —? a properly softened base is what makes the sauce sweet and deep rather than sharp.
  3. 3Add the minced garlic, cumin, smoked paprika, sweet paprika, cayenne, salt, and pepper. Stir continuously for about 1 minute until the spices are fragrant and toasted. They will start to stick slightly to the pan —? that's correct.
  4. 4Pour in the crushed tomatoes with all their juices. Add the sugar. Stir everything together and bring the sauce to a gentle simmer.
  5. 5Reduce heat to medium-low. Let the sauce simmer uncovered, stirring occasionally, for 10-12 minutes until it thickens slightly and the oil begins to separate at the edges. Taste and adjust salt and cayenne.
  6. 6Using a large spoon, create 6 small wells in the sauce, spacing them apart. Crack one egg carefully into each well. Season each egg lightly with salt and pepper.
  7. 7Cover the skillet with a lid or tight-fitting foil. Cook for 5-8 minutes, checking at the 5-minute mark. The whites should be fully set and opaque. The yolks should still be soft and slightly jiggly in the center for a runny yolk, or cook 2 minutes longer for a fully set yolk.
  8. 8Remove from heat. Scatter feta crumbles over the top if using, then sprinkle generously with chopped parsley or cilantro. Serve immediately from the skillet with crusty bread or pita for scooping.

Pro Tips

  • Crush the canned tomatoes by hand before adding them —? squeeze each one through your fingers directly over the pan. It gives you a chunkier, more interesting texture than anything a can opener and a spoon would produce, and it's oddly satisfying.
  • Watch the eggs from the five-minute mark like they owe you money. The difference between a runny yolk and a chalky one is about ninety seconds and full attention. Lift the lid, check, put the lid back. Don't walk away.
  • If your sauce looks thin after twelve minutes of simmering, let it go another two or three. A watery shakshuka is just tomato soup with eggs in it, and that's a different conversation.

Substitutions

red bell pepper → poblano pepper Adds mild heat and a slightly smokier flavor —? use when you want more complexity without turning up the cayenne
whole peeled canned tomatoes → crushed tomatoes (28 oz can) Saves the hand-crushing step; sauce will be smoother and more uniform
feta cheese → goat cheese or labneh Goat cheese melts in slightly softer; labneh adds a tangy creaminess closer to the traditional finish
olive oil → avocado oil Higher smoke point, neutral flavor —? works fine if olive oil isn't on hand
fresh parsley or cilantro → fresh basil Not traditional but works well if you're already thinking of this as an Italian-leaning tomato dish

Storage Instructions

Store leftover sauce (without eggs) in an airtight container in the refrigerator for up to 4 days. Reheat the sauce on the stovetop over medium-low and crack fresh eggs in —? previously cooked eggs do not reheat well and will turn rubbery. If you have leftover cooked shakshuka with eggs already in it, refrigerate for up to 2 days and reheat gently on the stovetop covered over very low heat, though the yolks will no longer be soft.

Make Ahead

The tomato sauce can be made completely in advance and stored in the refrigerator for up to 4 days or frozen for up to 2 months. Reheat the sauce in the skillet over medium heat until bubbling, then proceed with the egg-poaching step. This makes it a genuinely fast weekday meal —? the actual eggs-in-sauce portion only takes about 8 minutes once the sauce is hot.

Frequently Asked Questions

How do I know when the eggs are done in shakshuka?

Look for fully opaque, set egg whites with no translucent or jiggly sections remaining. The yolks should look matte on top but still soft when you nudge the pan —? that's a runny yolk, which is the goal. Start checking at the 5-minute mark after covering. Fully set yolks take 7-9 minutes depending on how hot your sauce was when the eggs went in.

Can I make shakshuka without a cast iron skillet?

Yes. Any heavy-bottomed, oven-safe skillet works —? stainless steel or a good nonstick will do the job. The key is that the pan holds heat evenly so the sauce simmers steadily rather than scorching in one spot. Avoid thin pans that develop hot spots; the eggs cook unevenly and you end up with rubbery whites before the yolks set.

Why did my shakshuka turn out watery?

The sauce needed more time to reduce before the eggs went in. After adding the tomatoes, you need at least 10-12 minutes of steady simmering uncovered to cook off excess liquid. Canned whole tomatoes also vary in water content by brand —? if your sauce still looks loose at 12 minutes, give it another 3-4 minutes. A thick sauce holds the eggs in place and delivers better flavor.

Can I add meat to this shakshuka recipe?

Yes. Merguez sausage is the most traditional addition —? slice it and brown it in the skillet before the onions, then remove and add back with the tomatoes. Chorizo works the same way and adds a smokier edge. Some cooks add ground lamb. If adding meat, reduce the olive oil slightly since the meat will render its own fat into the sauce.

Is shakshuka a breakfast dish or can I eat it for dinner?

Both, without any guilt or explanation required. It's served as breakfast across the Middle East and North Africa, and eaten as dinner across most of the world that has discovered it. The one-pan egg recipe works at any hour. I've made it for brunch with friends, for a late solo dinner with bread and nothing else, and once at 11 p.m. after a very long day. It never once complained about the timing.

How do I make shakshuka vegan or dairy-free?

Skip the eggs and feta. Add a can of drained chickpeas to the sauce along with the tomatoes and simmer together —? the chickpeas absorb the spiced sauce and become genuinely satisfying. You can also add a handful of baby spinach in the last few minutes. The tomato and pepper base is already fully vegan, so the rest is just leaving things out.

Can I make the sauce ahead of time and add eggs later?

This is actually the recommended approach for weekday meals. Make a full batch of the tomato sauce, refrigerate it in an airtight container for up to 4 days or freeze it for up to 2 months. When you're ready to eat, reheat the sauce in the skillet over medium heat until actively bubbling, then make your wells and crack in the eggs. Active bubbling sauce produces properly cooked whites in the right time window.

What do you serve with shakshuka?

Crusty bread is non-negotiable in my kitchen —? something with a firm crust that can scoop the sauce without disintegrating. Pita works just as well and is more traditional. A simple cucumber and tomato salad on the side makes a complete meal. Some people add hummus or labneh alongside. Whatever you choose, have enough bread to get every last bit of sauce out of the pan. That's the whole point.