This classic shakshuka recipe is one of my go-to dishes when I want to impress with minimal effort. Picture this: a savory tomato sauce bubbling with spices and topped with perfectly poached eggs. It’s simple yet satisfying, making it suitable for breakfast, lunch, or a light dinner. Plus, it comes together in under 30 minutes!
What makes shakshuka truly special is its balance of flavors—the warmth of cumin and paprika, the freshness of tomatoes, and the richness of runny egg yolks. It’s perfect for serving to family and friends, and it creates a cozy, communal vibe.
Why you’ll love classic shakshuka
- Quick to prepare, ready in about 30 minutes
- Packed with bold flavors and spices
- Versatile: perfect for any meal
- Easy to customize with toppings and sides
- One-pan dish, minimizing cleanup
What ingredients do I need for classic shakshuka?
- 2 tbsp olive oil
- 1 small yellow onion, finely diced
- 1 red bell pepper, diced
- 3 garlic cloves, minced
- 1 tsp ground cumin
- 1 tsp sweet paprika
- ¼ tsp chili flakes or cayenne (optional, for heat)
- 1 (28 oz) can crushed tomatoes (or whole peeled, crushed by hand)
- Salt and pepper, to taste
- 4–6 large eggs
- Fresh parsley or cilantro, for garnish
- Optional: warm pita, flatbread, or sourdough for serving
Ingredient notes & swaps
- Olive oil: Can be replaced with avocado oil for a neutral flavor.
- Bell pepper: Swap for green or yellow peppers if preferred.
- Eggs: Use as many eggs as you like, adjusting the sauce size accordingly.
- Spices: Experiment by adding your favorite herbs for a personal touch.
How do I make classic shakshuka step-by-step?
To prepare classic shakshuka, heat olive oil in a skillet, sauté onion and bell pepper, add garlic and spices, stir in tomatoes, and simmer until thickened. Create wells in the sauce, crack eggs into each, cover, and cook until the egg whites are set. Finish with fresh herbs.
- Heat olive oil in a large skillet over medium heat.
- Add the onion and bell pepper; sauté for 5–7 minutes, until softened.
- Stir in the garlic, cumin, paprika, and chili flakes (if using) and cook for 1 more minute until fragrant.
- Pour in the crushed tomatoes, season with salt and pepper.
- Reduce heat to medium-low and simmer uncovered for 10–15 minutes, stirring occasionally, until thickened.
- Using the back of a spoon, create small wells in the tomato sauce. Crack an egg into each well.
- Cover the pan and cook for 5–7 minutes, until the whites are set and the yolks are slightly runny, or longer for firmer yolks.
- Remove from heat, sprinkle with fresh parsley or cilantro, and serve immediately with warm bread for scooping.
Pro Tip: If you prefer firmer yolks, simply cover the pan and let the eggs cook a bit longer while keeping an eye on them!
Visual doneness cues
- The egg whites should be opaque and set while the yolk remains bright and slightly wobbly when the pan is gently jiggled.
How should I serve it?
Classic shakshuka is best enjoyed fresh from the skillet. I love serving it alongside warm pita, flatbread, or sourdough for scooping up the rich tomato sauce and runny egg yolks. Top it with a sprinkle of fresh herbs for a burst of color and flavor.
Can I make it ahead? How do I store and reheat it?
You can prepare the tomato sauce in advance and store it in the fridge for up to 3 days. When you’re ready to enjoy, reheat the sauce in a skillet, then create wells and crack in your eggs. Cover and cook as instructed. This ensures the eggs remain fresh and perfectly cooked.
How do I fix common issues?
If you find your shakshuka is too dry, add a splash of water or broth to the sauce as it simmers. For blandness, simply add more salt, pepper, or spices to boost flavor. If the eggs are overcooked, reduce the cooking time slightly next round.
What variations can I try?
Feel free to customize your shakshuka! You can add spinach or kale for extra greens, throw in some feta cheese for creaminess, or even include cooked sausage or chickpeas for protein. The base recipe is versatile and welcomes your favorite additions.
FAQs
Can I use fresh tomatoes instead of canned?
Absolutely! Just use about 2 pounds of fresh tomatoes. Blanch, peel, and crush them before adding them to the skillet.
Can shakshuka be frozen?
While the sauce can be frozen for up to 3 months, it’s best to cook the eggs fresh. Freeze the base sauce and when ready to serve, thaw and reheat, then add your eggs.
What can I drizzle on top?
A drizzle of tahini or hot sauce adds a delicious punch to the dish! Consider labneh for a creamy finish, too.

Classic Shakshuka
Ingredients
Method
- Heat olive oil in a large skillet over medium heat.
- Add the onion and bell pepper; sauté for 5–7 minutes, until softened.
- Stir in the garlic, cumin, paprika, and chili flakes (if using) and cook for 1 more minute until fragrant.
- Pour in the crushed tomatoes, season with salt and pepper.
- Reduce heat to medium-low and simmer uncovered for 10–15 minutes, stirring occasionally, until thickened.
- Using the back of a spoon, create small wells in the tomato sauce. Crack an egg into each well.
- Cover the pan and cook for 5–7 minutes, until the whites are set and the yolks are slightly runny, or longer for firmer yolks.
- Remove from heat, sprinkle with fresh parsley or cilantro, and serve immediately with warm bread for scooping.