This vegetarian spicy Shakshuka recipe is just the best breakfast ever! It's spicy and warming, full of protein and so quick to make too!

Breakfast can be many things - sweet or spicy and everything in between! When you're craving a simple, savory breakfast that's healthy, protein packed and warming, you have to try this vegetarian spicy Shakshuka recipe.
This spicy Shakshuka is a fantastic recipe to make for a family breakfast or when you have a bunch of people over for brunch. It pairs well with sausages, buttered toast and bacon too, it will really compliment any breakfast.
If you would like to serve it alongside a sweet treat, give my no-egg blueberry muffins a try! They can cook in the oven while the Shakshuka is cooking away on the stove-top.
Jump to:
🥬 Ingredients
You need only 12 ingredients to make this delicious spicy breakfast, most of which you probably have on hand already! I love making recipes that use pantry staples, then if I like the recipe, I can make it more often!
You can also easily substitute a number of these ingredients to suit what you have on hand.

- Olive oil
- White onion
- Red bell pepper
- Garlic cloves
- Salt & pepper
- Red pepper flakes (You can also try smoked red pepper flakes for a slight smoky heat)
- Cayenne pepper or chilli powder (for extra spice if desired)
- Ground cumin
- Ground paprika
- Canned tomatoes (you can use whole or diced canned tomatoes)
- Baby Spinach
- Large eggs
- Garnishes (sliced avocados, micro-greens and freshly chopped herbs are great garnishes)
See recipe card for precise quantities and instructions.
📖 Instructions
Step 1: Heat a large an over medium-high heat. Add the olive oil and once hot, add the diced onions and pepper and sauté until tender, 4-5 minutes.

Step 2: Add the garlic and sauté for another 30 seconds until fragrant. Add the seasonings: salt, pepper, red pepper flakes, cumin, paprika and chilli powder and mix well. Stir for 30 seconds until seasonings are fragrant.

Step 3: Add the canned tomatoes and mix well. If using whole canned tomatoes, allow the sauce to cook for a few minutes before crushing the tomatoes with a potato masher, if you mash them too soon they will spray juice everywhere.
Bring the sauce to a simmer and allow to cook for 10 - 15 minutes to allow the sauce to thicken slightly. Add the spinach leaves and mix until wilted into the sauce.

Step 4: Once the sauce has thickened, use the back of a spoon to make a small indentation for the eggs. Make one indentation and crack and egg into it before making the next indentation and adding the next egg. Add as many eggs as you can fit into your sauce, 3 - 5 eggs work well depending on the size of your pan.

Step 5: Cover the pan with a lid and cook for 5 - 8 minutes until the eggs are cooked through. Use this time to prepare the garnishes and your desired toppings.
Garnish the Shakshuka with fresh herbs, crumbled feta, sliced avocado, micro-greens and a sprinkle of red pepper flakes.

Hint: it's very important to have a thick tomato sauce before adding the eggs. If the sauce hasn't simmered enough it will not support the eggs and the eggs won't cook through well.
If the sauce is too watery after simmering, simmer for another 5 - 10 minutes to allow it to thicken properly.
🙋🏻♂️ FAQs
Shakshuka is a great meal that is low in carbs as well as high in protein. This hearty meal is nourishing and will keep you full for hours! Shakshuka is also vegetarian.
Shakshuka has eggs that are gently poached in tomato sauce so they usually come out runny. To ensure runny egg yolks, cook the eggs in the sauce for 4-5 minutes until cooked. Cooking the eggs any longer will make them hard.
Shakshuka is a sauce made from tomatoes, herbs, and spices that are simmered together to create a thick, rich, and slightly spicy sauce. Canned tomatoes, cumin, paprika and other spices are used to create the sauce.
Shakshuka is traditionally served with runny eggs so yes it is supposed to be runny. The sauce for the Shakshuka should be thick and able to support the eggs once they are cracked into the pan. Cook the eggs for 3 minutes longer to harden them up.
Yes, you can definitely eat leftover Shakshuka the next day. It makes the perfect quick breakfast or brunch! I wouldn't eat Shakshuka that is more than two days old. You can also make Shakshuka ahead, and on the day when you want to eat it, just heat up the sauce and cook the eggs.
🥘 Substitutions
The tomato sauce base for this recipe is a very versatile sauce and you can substitute some ingredients based upon what you have on hand and it will still taste amazing!
- Bell Pepper - you can use any color of bell pepper that you have available. Green, yellow or red will all work great
- Greens - you can use any spinach you have on hand, baby or normal spinach chopped slightly. Kale is also a great nutritionally dense substitute
- Vegan - you can make this Shakshuka vegan by substituting the eggs for Just Egg or omitting them entirely and adding vegan protein to your plate. Vegan sausages or vegan tofu scramble are great ways to add some plant-based protein to your meal

🍶 Variations
Even though Shakshuka is traditionally a breakfast recipe, you can easily make this anytime of the day for a delicious and healthy meal. Here are some variations that you can try to make this recipe suit your tastes, anytime the craving strikes!
- Extra spicy - add another teaspoon of red pepper flakes if you like your food really spicy, you could also add some diced green or red chillis for some fresh spice
- Add more protein - you can serve this vegetarian Shakshuka recipe with cooked sausage or crispy bacon for added protein
- Deluxe - add guacamole, crispy bacon and fresh greens for a show-stopping dish that's full of color and flavor
- Kid friendly - keep the hot red pepper flakes and chilli powder on the lighter if you're making this for kids, gently introduce them to the spice and you can always add more spice if they like it!
For another delicious easy breakfast, why not try my no egg blueberry muffins recipe?
🍳 What should I serve with Shakshuka?
Shakshuka can easily be served on its own but it's also great as part of a larger breakfast. The best things to serve with Shakshuka are:
- crusty, fresh bread or toast, pita bread is also fantastic
- sausages or crispy bacon, or crispy chickpeas if vegan
- creamy hummus or tzatziki
- a simple green salad or herb salad

⏲ Equipment
You need a large pan for this recipe, preferably stainless steel but a large non-stick frying pan will also work perfectly. You will also need a lid for whatever pan you use, the lid is vital to making the eggs cook through properly.
I wouldn't recommend making your spicy Shakshuka in a cast iron pan - tomato has a high acidity which can react with the cast iron. Stainless steel or non-stick cookware work best for this recipe.

🥣 Storage
Store any leftover Shakshuka in an airtight container in the refrigerator. It can be stored and stay fresh for up to 2 days.
Reheat in the oven in an oven-proof dish for 10 minutes at 350 F (180 C) or in the microwave. You can also add some fresh herbs or some cheese on top to freshen it up.
This dish doesn't stand up well to freezing.
❗️Top tip
You can easily adjust the cooking time to make your eggs exactly how you like them!
For runny egg yolks, cook the Shakshuka covered for about 3 - 4 minutes after adding the eggs.
Cook the Shakshuka for 5 - 8 minutes for fully cooked eggs with harder egg yolks.
Keep in mind that the eggs will also continue to cook in the spicy tomato sauce after you take the pan off the heat.
Tried this recipe? Leave a star rating ⭐️⭐️⭐️⭐️⭐️ and a comment below and follow us on Facebook, Pinterest, or Instagram!

Easy Vegetarian Spicy Shakshuka Recipe
Ingredients
- 1 Tbsp. Olive oil
- 1 large White onion diced
- Red bell pepper chopped
- 3 Garlic cloves minced
- 2 Tsp. Sea salt
- 1 Tsp. Black pepper
- 1 - 2 Tsp. Red pepper flakes You can also try smoked red pepper flakes for a slight smoky heat
- 1 Tsp. Chilli powder if desired, for extra spice
- 2 Tsp. Ground cumin
- 2 Tsp. Ground paprika
- 28 ounce Canned tomatoes you can use whole or diced canned tomatoes
- 1 cup Baby Spinach
- 3 - 4 Large eggs
Garnishes
- ¼ cup Fresh Italian parsley chopped fine
- ¼ cup Fresh cilantro leaves chopped fine
- sliced avocado, crumbled feta cheese, micro-greens, red pepper flakes
Instructions
- Heat a large an over medium-high heat. Add the olive oil and once hot, add the diced onions and pepper and sauté until tender, 4-5 minutes.
- Add the garlic and sauté for another 30 seconds until fragrant.
- Add the seasonings: salt, pepper, red pepper flakes, cumin, paprika and chilli powder and mix well. Stir for 30 seconds until seasonings are fragrant.
- Add the canned tomatoes and mix well. If using whole canned tomatoes, allow the sauce to cook for a few minutes before crushing the tomatoes with a potato masher, if you mash them too soon they will spray juice everywhere.
- Bring the sauce to a simmer and allow to cook for 10 - 15 minutes to allow the sauce to thicken slightly. Add the spinach leaves and mix until wilted into the sauce.
- Once the sauce has thickened, use the back of a spoon to make a small indentation for the eggs. Make one indentation and crack and egg into it before making the next indentation and adding the next egg. Add as many eggs as you can fit into your sauce, 3 - 5 eggs work well depending on the size of your pan.
- Cover the pan with a lid and cook for 5 - 8 minutes until the eggs are cooked through. Use this time to prepare the garnishes and your desired toppings.
- Garnish the Shakshuka with fresh herbs, crumbled feta, sliced avocado, micro-greens and a sprinkle of red pepper flakes.
Jenny
Loved making this for my family for the first time! There were no leftovers at all lol
Harry
That's what I like to hear Jenny! I'm so happy everyone loved the Shakshuka!
Zinaed
I loved the addition of avocado, never tried it with Shakshuka before!
Harry
It's definitely not a traditional ingredient but Shakshuka just works so well with so many breakfast foods, I couldn't help myself!