How to Make Vegan Shakshuka

vegan shakshuka
Photo by Nataliya Vaitkevich on Pexels

Shakshuka is a traditional North African dish made with poached eggs in a spicy tomato sauce. Delicious, comforting, and quick to prepare, it’s a staple in homes all over the Middle East, often served with sides like olives and pita. All of that is to say, classic shakshuka is obviously not vegan-friendly, but with a few simple swaps, you can easily make your own plant-based version without sacrificing flavor or nutrition. Here’s how we like to make it.


  • 1 tablespoon olive oil
  • 1 onion, diced
  • 3 cloves garlic, minced
  • 1 bell pepper, diced
  • 1 can (400g) crushed tomatoes
  • 1 can (400g) diced tomatoes
  • 1 tablespoon tomato paste
  • 1 teaspoon ground cumin
  • 1 teaspoon smoked paprika
  • 1/2 teaspoon cayenne pepper (adjust to taste)
  • Salt and pepper to taste
  • 200g firm tofu, crumbled
  • Optional: Red chili flakes, for heat


  1. Heat the olive oil in a large skillet or pan over medium heat.
  2. Add the diced onion and sauté until translucent, about 3-4 minutes.
  3. Add the garlic and sauté for an additional 1-2 minutes until fragrant.
  4. Stir in the diced bell pepper and cook for another 5 minutes until softened.
  5. Pour in the crushed tomatoes and diced tomatoes with their juices. Stir well.
  6. Add the tomato paste, cumin, smoked paprika, cayenne pepper, salt, and pepper. Mix everything thoroughly.
  7. Bring the mixture to a simmer and let it cook for 15-20 minutes, allowing the flavors to meld and the sauce to thicken.
  8. Create small wells in the sauce using a spoon and gently place a large spoonful of crumbled tofu into each well.
  9. Cover the pan and let it simmer for an additional 10-15 minutes, allowing the tofu to absorb the flavors of the sauce.
  10. Taste and adjust the seasonings as needed. If you prefer a spicier sauce, add some red chili flakes at this point.
  11. Serve hot with some crusty bread or pita on the side. Enjoy!