Vegan Tofu Shakshuka
This tofu shakshuka is a vegan take on a dish popular in North Africa and the Middle East. A smoky spiced tomato and red pepper sauce is topped with an eggy tofu batter to make a delicious and filling dish, perfect for breakfast or dinner!
What is shakshuka?
Shakshuka is a dish which has become very popular in the West in recent years, with good reason! It’s really easy to make and so delicious.
There is some controversy over its origins, but it is believed that Shakshuka dates back to the North African Ottoman Empire, and was brought across to Israel by North African immigrants. The dish is very popular in the Middle East, with plenty of regional variations served from Israel, to Turkey, to Yemen.
Traditionally, it is made by poaching eggs in a rich and spiced sauce of tomatoes, peppers, onion and garlic. The use of everyday ingredients makes this a really healthy and simple one-pan dish.
Egg free shakshuka
It’s no secret that I love making egg substitute dishes! Whilst we try to limit our processed food and use of store bought substitutes, I love to find alternative ways to make these substitutes at home- we shouldn’t have to miss out on all the goodness!
This recipe was interesting because the eggs are poached straight in the sauce, which posed a bit of a challenge for a vegan variant. I have seen recipes add blocks of tofu or chickpeas to the top of vegan shakshuka, but I really wanted that feeling of ‘poaching’ the eggs in the sauce.
Of course I still use tofu in this recipe (I love the stuff!), as it really does make a great egg substitute. For this recipe I used the silken type. When blended with the right ingredients, it tastes eggy and poaches up into omelette-like rounds in the sauce, making a delicious ‘tofu in purgatory’!
Why I love tofu shakshuka
I love this recipe because:
- It’s vegan, gluten free, nut free, and low carb.
- It can be a simple breakfast, brunch to share with friends, an easy weeknight dinner and even reheats well for a leftovers lunch.
- It’s so easy to make at home, and cooks all in one pan! You have to love dishes which keep the washing up to a minimum.
- It makes a satisfying meal served with crusty bread, with a great balance of protein and fibre.
- It’s so delicious! The rich tomato sauce really is the star of this vegan shakshuka with tofu, and the vegan egg compliments it perfectly.
I have to comment that this may not be the most ‘authentic’ shakshuka, mainly due to the fact that there aren’t any eggs! I have tried to keep the rest of my easy shakshuka recipe as traditional as possible, so it will be just as tasty as a recipe using eggs.
What ingredients should I use?
For the vegan ‘eggs’
The vegan egg base is whizzed together in a blender before being poured into wells in the tomato sauce, where it firms up into delicious soft rounds. To make the vegan egg you will need:
- Silken tofu– makes the bulk of the tofu shakshukas ‘eggs’. It’s smooth and creamy with a mild flavour, making it the perfect option for egg replacements.
- Black salt (or kala namak)- brings the super important eggy flavour! Also called ‘kala namak’, it’s a sulphur-rich kiln fired rock salt. You can find this online and in some health food and in Indian grocery stores. I use this in all of my eggy recipes, so it’s well worth getting some in!
- Nutritional yeast– adds a savoury flavour and richness to the vegan egg (you could leave this out if you don’t have any, but it does compliment the eggs really well).
- Garlic and onion powder– more flavour boosters. Silken tofu is very mild in flavour so we want to add lots of complimentary ingredients. You could use chopped fresh garlic or garlic and onion granules as an alternative.
- Lemon- a zesty and acidic ingredient which highlights the flavour of the vegan shakshuka. You could substitute this for two teaspoons of apple cider vinegar.
- Chickpea flour– this thickens the egg mixture, whilst adding another protein boost.
- Tapioca starch– makes the eggs set. Tapioca starch is perfect as it doesn’t set tough, and instead has an amount of elasticity which gives the eggs an omelette-y texture.
The tofu shakshuka sauce
The sauce is the more traditional part of this vegan shakshuka recipe, and is the hero which carries the dish. 6 simple ingredients make this sauce delicious and easy:
- Onion– you can use brown or red onion, whichever you have to hand.
- Garlic– I’ve gone for 6 cloves in this recipe. If you like a lot of garlic, add more; if you’re not a fan of garlic, you can reduce this to your taste.
- Roasted red pepper– I like using the roasted red peppers which come in a jar, because they are so flavoursome. If you can’t get hold of these, just use a large red bell pepper and soften it off with the onion.
- Spices– a very important part of this sauce, don’t miss them out! Cumin, smoked paprika, and coriander give that classic shakshuka flavour. You can add a few red pepper flakes for a hit of spice if you would like.
- Diced tomatoes– this is a simple recipe and the tomatoes are really important. Get some good quality diced tomatoes for the best flavour.
- Tomato paste– I’ve added a little bit of tomato paste for some extra richness in the tofu shakshuka sauce. This gives the sauce a boost, but you can leave it out if you don’t have any.
My equipment recommendations
I love using a cast iron skillet to make vegan shakshuka. Personally I have been moving away from non-stick pans in recent years, and favouring cast iron and enamel coated cast iron. They give a great even heat distribution, and if seasoned well have natural non-stick qualities. I also find them much longer lasting and harder wearing than non-stick pans.
One word of warning for making tofu shakshuka in a cast iron pan- make sure that your pan is seasoned well! Simmering acidic ingredients such as tomatoes in cast iron pans can impart a metallic taste into your food, or affect the pans seasoning. However, as long as your pan is well seasoned and you stick to the simmering time in the recipe, you won’t have a problem.
Clean your pan as soon as you can after cooking, and reseason if needed. If you are using enamel coated cast iron, you don’t need to worry about any of this!
If you don’t have cast iron pans, feel free to make this in a 10 inch non-stick skillet.
You will also need some kind of blender (be it a full sized, stick or bullet blender) to make the vegan egg mixture. As always I advocate for my Ninja blender, as it’s powerful, fast and hard wearing. I used the bullet attachment of my 3-in-1 model for this recipe.
How to make tofu shakshuka
This dish starts with making the tomato sauce. Heat a tablespoon of oil in your pan over a medium heat, then add the onions and garlic. Fry them for 3-4 minutes until they are softened.
Then, add the chopped red pepper, paprika, cumin and coriander. Cook, stirring, for 2 minutes until the spices become fragrant.
Add the 2 cans of chopped tomatoes, along with the tomato paste (if using) and a really good grind of salt and pepper. Leave this to simmer for 10 minutes whilst you make your egg mixture.
In a blender, bullet blender, or large bowl with a stick blender, combine the tofu, Indian black salt, nutritional yeast, garlic and onion powder, lemon, chickpea flour and tapioca starch. Blend until it makes a smooth, thick batter.
Taste the tomato sauce for seasoning and adjust if necessary. Next, make 4 holes in your sauce and pour in your batter. I tend to do this one at a time as the holes close up quite quickly.
Make sure that your tofu shakshuka is at a simmer, then leave to cook for 15 minutes to cook the bottom of your ‘eggs’ through. After 15 minutes, cover your pan to steam the tops of the ‘eggs’.
Your vegan shakshuka is ready to eat!
The most classic way to serve this tofu shakshuka is with some thick slices of bread! I love some ciabatta with my shakshuka as it is crusty on the outside, but the soft and airy centre mops up the sauce. You could also whip up a batch of these hummus flatbreads, or use a simple pitta.
I like to top my eggless shakshuka with plenty of herbs (mint and coriander are my favourite, but you could use fresh parsley or your favourite herb. Avocado and yoghurt can add a lovely creaminess too.
Vegan cheese is another popular option- a rich and tangy cheese like vegan feta goes great. Try sprinkling some green onion or chives over the top, or perhaps your favourite chopped nuts and seeds.
You could also serve vegan shakshuka with some Middle Eastern dishes such as:
Top tips for making vegan shakshuka
Like it eggier? Make your tofu shakshuka taste eggier by serving with a sprinkling of black salt over the tofu eggs. The flavour of black salt diminishes as it is heated, so a light sprinkling of raw black salt over the finished dish will make it taste even eggier!
Gluten free? If you need a gluten free carbohydrate to serve with your vegan shakshuka, you can make some quinoa, rice or potatoes (I love to do roasted or grilled potatoes!).
Tastes too acidic? Make sure you get some good quality canned tomatoes as these will not only be tastier but less acidic. Fire roasted tomatoes are a great option. If the sauce is still too acidic tasting, you can add some sugar a teaspoon at a time (before adding the eggs) to taste.
Ingredient substitutes or additions
- Tofu– this recipe calls for silken tofu, but you can use any variety. I would recommend against using firm or extra firm tofu as this will result in a thicker egg mixture. If this is all you have available, you can add water or dairy free milk to the mixture a tablespoon at a time until it represents a thick batter.
- Chickpea flour- I think that the texture of chickpea flour works best in the batter, so I wouldn’t recommend swapping it for all purpose flour as this would be too claggy. You could try another gluten free flour such as soya flour, millet flour or quinoa flour.
- Protein– if you don’t like tofu, you can skip the tofu eggs and top your tomato base with chickpeas for a chickpea shakshuka. Beans or vegan sausage are both delicious vegan protein sources too.
- Vegetables– the shakshuka sauce is a great way of using up leftover veggies. Just chop them small and fry them up with the onions at the start of the recipe for best results. I love making eggplant shakshuka, and green beans and spinach work great in a vegetable shakshuka too. I would recommend staying away from hard vegetables such as butternut squash or sweet potato.
- Extra chilli– I don’t like super spicy breakfasts, but if you do you could add red pepper flakes or chilli powder in with the cumin, paprika and coriander.
There is very little prep for this recipe so it doesn’t really pay to make any of the components in advance. If you would like to make the tofu ‘egg’ mixture in advance it can be stored in the fridge for 24 hours. It may firm up slightly- if it does, add a splash of water and blend it up again.
If you want to prepare the entire dish in advance, I would suggest allowing it to cool to room temperature, then storing the entire pan, covered, in the fridge. When you are ready to eat, reheat the tofu shakshuka over a medium heat until bubbling.
Store leftovers in the fridge for up to 3 days. I would recommend moving the eggless shakshuka into an airtight container, in one go or in individual portions. You can reheat it in the microwave for a few minutes, or on the stove (until piping hot through).
I wouldn’t recommend freezing vegan shakshuka.
More breakfast and brunch recipes you might like…
If this tofu shakshuka is up your street, you might also like:
- Homemade almond and chia seed butter (spread it on toast or eat it from the jar!).
- Tahini toast topped two ways– a sweet and savoury option for everyone.
- Easy coffee overnight oats, perfect for on the go.
- Vegan Spanish omelette (a tasty brunch which is also perfect for picnics).
- A big stack of banana pancakes!
Vegan Tofu Shakshuka
- 10 inch skillet
For the shakshuka sauce
- 1 tbsp olive oil
- 1 medium brown onion diced
- 6 cloves garlic chopped
- 2 roasted red peppers chopped
- 2 tsp smoked paprika
- 1 tsp ground cumin
- ½ tsp ground coriander
- 2 cans chopped tomatoes
- 1 tbsp tomato paste (optional)
For the vegan ‘eggs’
- 1 pack silken tofu (approx 300g)
- 1 tsp black salt
- 2 tbsp nutritional yeast
- ½ tsp garlic powder
- ½ tsp onion powder
- 1 lemon juiced
- 4 tbsp chickpea flour
- 2 tbsp tapioca starch
- Heat the oil in a 10 inch skillet over a medium heat, then add the onions and garlic. Fry them for 3-4 minutes until softened.
- Add the red pepper, paprika, cumin and coriander. Cook, stirring, for 2 minutes until the spices become fragrant.
- Add the chopped tomatoes, along with the tomato paste (if using) and a really good grind of salt and pepper. Stir, then leave this to simmer for 10 minutes whilst you make the egg mixture.
- Blend together the tofu, black salt, nutritional yeast, garlic and onion powder, lemon, chickpea flour and tapioca starch into a smooth and thick batter.
- Taste the tomato sauce for seasoning and adjust if necessary. One at a time, make 4 holes in the sauce and pour in the batter.
- Make sure that the shakshuka is at a simmer, then leave to cook for 15 minutes to cook the bottom of your ‘eggs’ through. After 15 minutes, cover your pan to steam the tops of the ‘eggs’.
- Garnish with plenty of fresh herbs and serve with crusty bread.
Store leftovers in the fridge for up to 3 days. I would recommend moving the shakshuka into an airtight container, in one go or in individual portions. You can reheat it in the microwave for a few minutes, or on the stove (until piping hot through). I wouldn’t recommend freezing vegan shakshuka.
Made this recipe?
I’d love to know how you got on- let me know how it turned out in the comments below!
Want to hear more from me?
Sign up to my newsletter below and I’ll make sure you’re the first to know when I post a new recipe!