When I went vegan, I assumed I would have trouble giving up eggs. Why? Because I used to eat eggs almost every day for breakfast! And shakshuka—eggs poached in a spiced tomato stew with chili peppers, onion, and garlic—was one of my favorites.
Luckily, the human body is a very adaptable thing, and within a week, I had zero cravings for eggs. But I still had the desire to recreate hearty, savory, and flavorful breakfast dishes like shakshuka. Hence this recipe for a plant-based shakshuka using tofu and white beans. Yes, that means double the protein.
I don’t think there’s an easy way to substitute poached eggs, but crumbled tofu does mimic scrambled eggs pretty well. To achieve an “eggy” flavor and mouthfeel, I rely on kala namak, or Indian black salt. It’s a Himalayan rock salt that’s very pungent in flavor. That initial whiff can be really intense and sulfuric (appetizing, I know), but once you blend it into the tofu, the eggy taste is not overwhelming. Oh, also, it’s not actually black in color, so that’s confusing. You can find kala namak at South Asian grocery stores on Amazon (affiliate link), which is where I make 99% of my purchases. If you can’t find, just substitute kosher salt or sea salt. It’ll still taste very delicious.

One of the most important parts of shakshuka is the slow-simmered tomato sauce. The slow simmering process helps build a deep, rich tomato flavor that’s full of umami. I like using fire-roasted tomatoes and a healthy dose of tomato paste for a little extra flavor and richness.
To bring some freshness to this slow-simmered dish, this shakshuka is finished with fresh cilantro and mint. You can serve as is, but to really sop up that delicious tomato sauce, I highly recommend serving alongside some crusty rustic bread.


Big Vegan Flavor
Techniques and 150 recipes to master vegan cooking.

Introducing
Big Vegan Flavor
Techniques and 150 recipes to master vegan cooking.
Vegan Shakshuka with Tofu and White Beans

Ingredients
- 1 1/2 tablespoons olive oil
- 1 medium yellow onion, diced
- 4 cloves garlic, minced
- 1-2 jalapeño peppers, diced (optional, omit for a mild version)
- 1 large red bell pepper, diced
- 1 tablespoon sweet paprika
- 2 teaspoons cumin seeds
- 2 teaspoons ground chili powder
- 1/8 teaspoon cayenne pepper
- 1 (28-ounce) can fire roasted diced tomatoes, or tomato purée
- 3 tablespoons tomato paste
- 1 tablespoon brown sugar or coconut sugar
- ½ tsp kosher salt or sea salt + more to taste
- Black pepper to taste
- 2 bay leaves
- 1 14- ounce block of firm tofu
- 3 tablespoons nutritional yeast
- ½-1 teaspoon kala namak (Indian black salt*)
- ½ teaspoon ground turmeric, optional**
- 1 15- ounce can cannellini beans, drained, rinsed, and dried
- 2 handfuls of cilantro leaves, roughly chopped
- 1 small handful of fresh mint, roughly chopped (optional)
- 1 handful of black or green olives (optional)
- Garnishes: black or green olives, rustic bread
Instructions
- Heat a large, deep skillet over medium heat. Once hot, add the olive oil, and once it is shimmering, add the diced onion and cook for 4-6 minutes or until translucent.
- Add the garlic and jalapeño peppers and cook for another minute, stirring frequently to avoid burning. Then add the diced bell pepper and cook for 2-3 minutes until it’s starting to soften.
- Stir in all of the spices (sweet paprika through cayenne pepper) and stir constantly for 30-60 seconds or until the spices have coated the vegetables and it smells very fragrant.
- Add the diced tomatoes (or tomato purée), tomato paste, brown sugar or coconut sugar, kosher salt, black pepper, and bay leaves, and stir to combine. Reduce the heat to medium-low and allow the tomato sauce to thicken for 30 minutes, stirring once in a awhile.
- Meanwhile, drain the tofu and pat down any excess water. Add the tofu into a food processor bowl and add the nutritional yeast, kala namak (or kosher salt), and turmeric (if using). Pulse the mixture a few times, but do not blend (or it will turn into a creamy purée). The final texture should resemble ricotta cheese. Taste the tofu mixture, and if you desire a more “eggy” taste, add ½ teaspoon more kala namak.
- Once the tomato sauce has thickened up, taste it for seasonings. Add more salt or pepper as desired. If the sauce is too tangy, add more brown sugar or coconut sugar. If you’d like the sauce to be spicier, add some crushed red pepper flakes.
- Add the crumbled tofu and drained cannellini beans on top of the tomato sauce. Reduce the heat to low, cover the pan, and allow them to heat through and absorb the flavors, for 5-8 minutes.
- When ready to serve, add in the cilantro and mint (if using) and lightly stir to combine. Garnish with olives, if desired, and serve with a a rustic bread.
Notes
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
















This was amazing! One of my new favorite recipes! Paired with bakery fresh sourdough and garden grown spicy peppers. The dish was complex and homey.
That sounds delightful, Katy! 🙂
This was delicious and paired wonderfully with rustic bakery bread! When I simmered the tomato sauce, I noticed that the liquid reduced quite a bit so my Shakshuka wasn’t as saucy as I would’ve liked. Is there a way I can’t prevent from happening?
Love to hear that, Amanda! You can always add a little water (or vegetable broth if you have it on hand) to make it saucier. Or try reducing the heat level so the liquid doesn’t evaporate as much. If you enjoyed this, we recommend trying the scrambled shakshuka in Nisha’s new cookbook, Big Vegan Flavor!
Very delicious. I made it as a dinner and it was filling. I made flat bread which added a great addition to the flavors.
Hi Stephen, thank you so much for your kind review!
I made this yesterday and like every single one of your recipes, it was absolutely delicious! Thank you for the amazing recipes you share here!
Hi Mariana, it’s great to hear you had success with the recipe. Thanks for the review!
Thank you for a great idea for breakfast. I have a very picky vegan boyfriend, but so far all your recipes I cooked he loved (I can tell because he always asks for extra)
It was also pretty easy to make, despite long ingredients list
Hi Polina, thanks for trying the recipe! We’re honored your picky boyfriend is such a fan of the recipes 🙂
I made this today with a block of tofu that had accidentally frozen in my fridge and the texture was even better for substituting eggs than not previously frozen tofu. I added some kale to it as well to get an iron boost as it had tomato, came out amazing and I am looking forward to being able to have the rest of it over the next few days for breakfast or lunch. It will be an easy thing to be able to reheat and just serve.
Thank you for sharing your experience with us, Alejandra! We’re happy you enjoyed the shakshuka.
Why is this recipe not printable like your others?
Hi Mel, this issue has been fixed. Enjoy!
Can I freeze this dish?
Hi Michelle, we haven’t tried freezing this, but from our general experience, tofu recipes like this do not freeze great.
Swap the tofu for more beans to freeze the dish or omit tofu, freeze and them add the tofu afterwards. Or just freeze the fried veg/tomato sauce and add protein after defrosting. Lots of options to adapt 🙂
This recipe is very easy to put together and is packed with so much flavor. Served with a side of garlic naan made it the perfect meal. We will absolutely be making the tofu eggs again for other recipes as we couldn’t get enough. The texture is so delightful and the flavor was just right (we did add the full teaspoon of black salt). We had the leftovers for breakfast and it was still just as delicious too. This recipe is going into our recipe book to be made many more times in the future!
Awesome, Melissa. Thanks for your comment and for taking the time to review!
This was one of the best dishes I have made at home since going vegan. Everything about this recipe is fabulous. I used less garlic and I feel like chick peas would also be really good in place of the white beans. I will be making this one over and over again. Thanks for sharing!!
Awesome, Liz. Thanks for your comment and for taking the time to review!