Simple and authentic recipe for North African style poached eggs with stewed tomatoes and a Moroccan spice blend.

Cooked eggs on a bed of stewed tomatoes.

We love eggs and have no problem eating them for breakfast lunch or dinner. I often try to get creative, making different egg recipes. Shakshuka poached eggs are a popular North African dish that is easy to make and so flavourful.

Eggs cooked in a cast iron tagine with a blue lid.

I love my tagine and it is incredible for cooking many Moroccan style dishes. The base is a shallow cast iron pot, perfect for making so many stewed top dishes. The cone shaped lid allows the moisture to collect and fall back down into the simmering food, keeping it moist.

Is a Tagine Pot Necessary for Shakshuka?

While a tagine is great for shakshuka, it is definitely not necessary, and you could use any type of deep skillet, shallow pot or sauté pan. The one thing that you need is a lid that will cover the skillet completely. Since the eggs are essentially poached/steamed, a lid is necessary to keep in the heat and moisture.

Ingredients for shaksuka gathered on a cutting board.

What Ingredients Do You Need For Shakshuka?

I remember that the first time I made shakshuka poached eggs I was amazed that I always have these ingredients in my kitchen and there is no need to ever have boring eggs again.

This is what you will need:

  • Eggs – Dep
  • Oil
  • Tomatoes – I like to use plum/roma tomatoes as I love the way that they taste stewed with this shakshuka.
  • Red onions – I use red onions but you could use yellow cooking onions as well.
  • Red pepper
  • Spices – paprika, cumin, cayenne pepper, cinnamon, salt and black pepper – the blend of spices definitely shows the North African origin.
  • Garlic – I like to use fresh garlic cloves that have been minced finely.
  • Fresh parsley – this is simply used as a garnish after the shakshuka has finished cooking.

Diced red onions and red peppers in a cast iron skillet.

The first step for making shakshuka is to sauté the diced onion and red pepper. Heat with the oil in a skillet or the base of a tagine. Cook them for about three minutes. You should start to notice them getting softer.

Moroccan seasoning added to the sautéed onions and peppers.

Dump in all the seasoning and minced garlic. Stir the spices in and continue to cook for another 3 minutes. Make sure to stir often so that the seasonings don’t stick to the bottom of the skillet.

Expert tip: depending on how spicy you like your food, you could increase or decrease the amount of cayenne pepper.

Diced tomatoes, onions and peppers sautéing.

The next step is to add the diced tomatoes. Stir them in and let them cook for a couple minutes.

Tagine on a gas rangetop.

Stewing the Tomatoes

Reduce the heat to a medium low simmer and cover with the lid to allow the tomatoes to slowly stew which will deepen the flavour and thicken the sauce. 

Let the shakshuka simmer for about 45 minutes. Give it a good stir every 10 minutes or so.

Expert tip: even though you might be tempted, I would encourage you not to shorten the cooking time for simmering the tomatoes. This slow simmer will create a very rich and deep flavour.

Tomatoes simmering in a cast iron skillet.

Lift off the lid to see how incredible the tomatoes, onion and peppers look. I typically can’t help myself and take a quick spoonful to taste!

An egg freshly cracked on tomatoes simmering in a tagine base.

The next step for making shakshuka is to cook the eggs and it is important to create little valleys in the cooked tomatoes. Take a spoon and make four indentations for the eggs to rest. Crack each egg and carefully place them into the hollowed out area.

Four eggs freshly cracked on stewed tomatoes.

How Long to Cook the Eggs

Once the eggs have been placed on top of the stewed tomatoes, cover the skillet with the lid. It takes about 5 minutes for the eggs to cook. 

Expert tip: Make sure to keep the lid on while cooking the eggs. Every time the lid is lifted off, the heat will escape. Only lift the lid to check the eggs are done and if they need more cooking time, place the lid on quickly.

Four eggs poached with tomatoes.

The eggs are done when the the whites are not runny or clear anymore. The egg yolks should still be runny, but if you prefer solid yolks, you could cook the shakshuka a little longer.

Shakshuka in a tagine with sliced bread.

How to Serve Shakshuka

Once the eggs have finished cooking, top with some fresh parsley, and the shakshuka is ready to serve. Remove from the heat and spoon some cooked tomatoes and eggs onto a plate. I like to have the shakshuka with a sliced baguette because the crusty bread is perfect for scooping up the eggs and tomatoes.

This dish is packed with flavour and easily one of my favourite ways to cook eggs.

Cooked eggs on a plate next to a tagine.

Other Great Egg Recipes!

Looking for some more inspiration for your next breakfast or brunch, then check out these recipes!

Shakshuka Eggs

No ratings yet
An easy recipe for a traditional North African style eggs with stewed tomatoes and a Moroccan seasoning.
Prep Time: 15 minutes
Cook Time: 1 hour
Servings: 4


  • 3 tbsp oil
  • 1 medium red onion , peeled and diced
  • 1 red pepper , cored and diced
  • 5 plum tomatoes , diced
  • 4 cloves garlic , minced
  • 1 1/2 tbsp paprika
  • 1/2 tsp cumin
  • 1/2 tsp cayenne pepper
  • 1/8 tsp cinnamon
  • 1 1/2 tsp salt
  • 1 tsp black pepper
  • 4 eggs
  • 2 tbsp fresh parsley , minced


  • Heat oil, diced onion and pepper, over medium heat, in a skillet or the base of a tagine. Cook 2-3 minutes, stirring often.
  • Stir in the minced garlic, paprika, cumin, cayenne, cinnamon, salt and pepper. Cook for a 2-3 more minutes.
  • Add the diced tomatoes and stir. Cook for a couple minutes and then reduce the heat to a low simmer and cover with a lid. Let the tomatoes stew for about 45 minutes. Make sure to stir often so the tomatoes do not stick to the bottom of the pan.
  • Remove the lid and use a spoon to make for indentations in the stewed tomatoes.
  • Crack the eggs and gently place them on the tomatoes in the indented spots.
  • Cover with the lid and let the eggs poach for about 5 minutes. The whites of the should solid and no longer clear and the yolks still be runny. Garnish with fresh parsley.
  • Serve immediately with sliced baguette.


Per serving:

Calories: 204kcalCarbohydrates: 11gProtein: 8gFat: 15gSaturated Fat: 2gCholesterol: 164mgSodium: 945mgFiber: 3gSugar: 5g

Nutrition Disclaimer


Cooked eggs on a bed of stewed tomatoes.

Did you try this recipe?

Leave a comment and let me know how it turned out. Or, take a picture to share on Instagram and tag me @theblackpeppercorn.

Leave a comment

Recipe Rating

Subscribe to the newsletter and never miss a recipe!