clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Tofu shakshuka in a cast iron skillet garnished with feta and avocado.

Vegan Shakshuka

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

5 from 12 reviews

  • Author: Lexi
  • Total Time: 1 hour 25 minutes
  • Yield: 4 Servings 1x
  • Diet: Vegan


Our vegan shakshuka subs out eggs for tofu, which soaks up tons of flavor and spices from a rich tomato sauce. We top it with vegan feta and avocado, and the end result is an easy and delicious plant-based dinner.


Units Scale
  • 14 oz extra firm tofu
  • 3 tablespoon olive oil
  • 1 small yellow onion, diced (~1 cup)
  • 2 teaspoon fresh garlic, finely minced
  • 1 medium red pepper, diced
  • 1 tablespoon tomato paste
  • 2 teaspoon paprika
  • 1 teaspoon ground cumin
  • 1/2 teaspoon ground coriander
  • 1 teaspoon kosher salt, divided
  • 28 oz diced fire roasted tomatoes (~2 cans)
  • 1/3 cup fresh cilantro, chopped
  • 1/3 cup fresh parsley, chopped
  • 1/4 to 1/2 teaspoon red pepper flakes
  • 4 oz vegan feta (about 2/3 cup)
  • 1 avocado, thinly sliced, for garnish (optional)
  • Thick bread or baguette, toasted (for serving)


  1. Preheat oven to 375˚F.
  2. Drain tofu, wrap in a clean towel (or paper towel) and set something heavy on top, like a cast iron pan. Press the tofu like this for 30 minutes to remove excess moisture. Once it's done pressing, slice the block in half widthwise (to create two thinner rectangles). Slice each block in half, then slice into triangles for 8 slices total.
  3. Once the tofu is pressed, brush with olive oil on both sides and sprinkle with 1/2 teaspoon of salt. Add a little oil to an oven-safe skillet over medium heat. Add tofu to the pan and cook until lightly browned on each side (4-5 minutes per side). Transfer tofu to a plate and set aside.
  4. Add the remaining olive oil. Add the onions and sauté, stirring occasionally, for 3-4 minutes. Add the minced garlic and bell pepper and cook, stirring frequently, until softened, about 10 minutes. 
  5. Add the tomato paste, paprika, cumin, coriander, red pepper flakes, and 1/2 teaspoon of salt to the skillet and stir well to coat the vegetables. Add the canned fire roasted tomatoes, cilantro, and parsley, reserving 2 tablespoons of parsley for garnish. Stir well and simmer for 10 more minutes. 
  6. If you prefer a more pureed sauce, use an immersion blender to purée the tomato sauce a bit, while still keeping a little bit of texture. 
  7. Add the tofu to the skillet, nestle it in the tomato sauce and sprinkle with the vegan feta. Place the skillet in the oven and bake for 10 minutes.
  8. Top with remaining fresh parsley, red pepper flakes, and avocado slices. Serve with toasted bread on the side.


If you don't have an immersion blender, carefully transfer the sauce from the skillet to a heat safe blender and pulse a few times until you arrive at your desired texture.

Be sure to drain and press the tofu before cooking to make sure any excess moisture has been removed. Additionally, be sure to use extra firm tofu – any other variety will fall apart in the sauce.

Storage: let the vegan shakshuka cool completely, then store in an airtight container in the refrigerator for up to 4-5 days. Reheat in the microwave or on stovetop.

Canned diced fire roasted tomatoes: If you can't find the fire roasted variety, regular diced tomatoes will work. Whole canned tomatoes will work too, just make sure to use your spoon to break them up a bit while they cook.

  • Prep Time: 10 minutes
  • Press Time: 30 minutes
  • Cook Time: 45 minutes
  • Category: Vegan Dinner
  • Method: Stovetop and Oven
  • Cuisine: Middle Eastern


  • Serving Size:
  • Calories: 448
  • Sugar: 11.7 g
  • Sodium: 774.1 mg
  • Fat: 26.7 g
  • Carbohydrates: 41 g
  • Fiber: 9.7 g
  • Protein: 17 g