Shakshuka is a vibrant North African and Middle Eastern dish of eggs poached in a spiced tomato and pepper sauce. It works beautifully as a healthy, high-protein breakfast, lunch, or dinner because it’s built on vegetables, uses minimal oil, and comes together in a single skillet. The sauce is deeply flavorful from cumin, paprika, and garlic, while the runny yolks create a rich, silky texture without any cream or cheese.
Ingredients
- 2 tablespoons (30 ml) olive oil
- 1 large yellow onion, diced (about 1½ cups / 200 g)
- 1 red bell pepper, seeded and diced (about 1 cup / 150 g)
- 3 cloves garlic, minced
- 1 teaspoon ground cumin
- 1 teaspoon sweet paprika
- ½ teaspoon ground coriander
- ¼ teaspoon cayenne pepper (optional, for heat)
- 1 (28-ounce / 800 g) can crushed tomatoes
- 1 teaspoon granulated sugar (optional, to balance acidity)
- ½ teaspoon salt, plus more to taste
- ¼ teaspoon black pepper
- 6 large eggs
- ¼ cup (10 g) fresh parsley or cilantro, chopped, for garnish
Instructions
- Heat the olive oil in a large, deep skillet (12-inch / 30 cm) over medium heat. Add the onion and bell pepper; cook, stirring occasionally, until softened, about 6–7 minutes.
- Stir in the garlic, cumin, paprika, coriander, and cayenne (if using). Cook for 1 minute until fragrant.
- Pour in the crushed tomatoes, sugar (if using), salt, and black pepper. Stir to combine. Bring the sauce to a gentle simmer, then reduce the heat to medium-low and let it bubble gently, uncovered, for 10–12 minutes, stirring occasionally, until thickened slightly.
- Taste the sauce and adjust seasoning if needed. If it tastes too acidic, add a pinch more sugar.
- Using the back of a spoon, make 6 small wells in the sauce. Crack one egg into each well, keeping the yolks intact.
- Cover the skillet with a lid and cook over medium-low heat for 5–7 minutes, or until the egg whites are set but the yolks are still soft and runny. If you prefer firmer yolks, cook for 2–3 minutes longer. For food safety, egg dishes should reach a safe minimum internal temperature of 160°F (71°C) per USDA FSIS guidelines, which means the whites are fully set and the yolks are at least thickened; check with a food thermometer if you are unsure.
- Sprinkle with fresh parsley or cilantro and serve immediately from the skillet.
Tips
- Use a wide skillet: A 12-inch pan gives the eggs room to cook evenly without crowding. If your pan is smaller, use 4 eggs instead of 6.
- Don’t rush the sauce: Simmering the tomato mixture for at least 10 minutes deepens the flavor and helps it thicken so the eggs don’t make it watery.
- Substitute canned tomatoes: If you only have whole peeled tomatoes, crush them with your hands before adding. Fresh tomatoes work too—use about 1½ pounds (680 g) chopped, and simmer 5 extra minutes to release their juices.
- Make it vegan: Omit the eggs and serve the sauce over chickpeas or tofu. Add 1½ cups (250 g) cooked chickpeas with the tomatoes and simmer until heated through.
Serving Suggestions
Shakshuka is traditionally served with crusty bread or pita for dipping into the runny yolks and sauce. For a lighter meal, serve it with a side salad or over cooked quinoa, brown rice, or cauliflower rice. It also pairs well with labneh, feta cheese, or sliced avocado on top.
Variations
- Green shakshuka: Replace the tomatoes with 4 cups (120 g) chopped spinach or Swiss chard and 1 cup (240 ml) vegetable broth. Cook until the greens wilt, then proceed with the eggs.
- Spicy shakshuka: Add 1 chopped jalapeño or 1 teaspoon harissa paste with the garlic for extra heat.
- Cheese-topped: Crumble ½ cup (60 g) feta cheese over the sauce just before covering with the lid, so it softens slightly.
- Add greens: Stir in a handful of baby spinach or kale into the sauce during the last 2 minutes of simmering until wilted.
Storage and Reheating
Refrigerate leftovers in an airtight container within 2 hours of cooking. Cooked shakshuka keeps for up to 3 days. To reheat, place it in a skillet over medium-low heat with a splash of water or broth, cover, and warm gently for 5–7 minutes, or until the eggs are heated through to 165°F (74°C) for leftovers per USDA FSIS guidelines. The yolks will firm up on reheating, which is fine. You can also reheat individual portions in the microwave in 30-second bursts, but the eggs may become rubbery. Freezing is not recommended because the eggs change texture and become watery.
Frequently Asked Questions
Can I make shakshuka ahead of time? You can make the tomato sauce up to 3 days ahead and refrigerate it. When ready to serve, reheat the sauce in a skillet, then poach the eggs fresh—this keeps the yolks runny and the texture perfect.
Why are my eggs not setting? If the eggs are still runny after 7 minutes, your heat may be too low or the sauce too thin. Make sure the sauce is simmering gently before adding the eggs, and keep the pan covered to trap steam. If the sauce is watery, simmer it longer before adding the eggs.
Can I use egg whites only? Yes, use 8 egg whites instead of 6 whole eggs. They will set faster, so check after 4–5 minutes. The dish will be lower in fat but less rich.
Is shakshuka gluten-free? Yes, the base recipe is naturally gluten-free. Just serve it with gluten-free bread or grains if you need to avoid gluten.
How do I know when the eggs are done? The whites should be completely opaque and firm, while the yolks should still jiggle slightly if you want them runny. For a firmer yolk, cook until the yolk is set but not hard. Use a thermometer to check that the egg dish reaches 160°F (71°C) for food safety.
Can I double this recipe? Yes, but use a very large skillet (14-inch / 35 cm) or make it in two batches. If you crowd the pan, the eggs will take longer to cook and the sauce may splatter.
Related
- Nando’s Malva Pudding Recipe: A Sweet South African Classic
- Matoke Recipe Kenya: Easy Stewed Green Bananas
- Malva Pudding UK: Sticky South African Dessert Recipe
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).