Vegan Souvlaki Recipe with Tofu & Mushroom

Updated November 4, 2026

Total time
1 hr 40 min
prep 25 min · cook 15 min
Serves
4
portions as written

Jump to recipe

Vegan Souvlaki Recipe with Tofu & Mushroom

Vegan souvlaki is a plant-based take on the classic Greek street food, traditionally made with pork or chicken. This version uses extra-firm tofu and meaty mushrooms marinated in a bright blend of lemon, garlic, oregano, and olive oil, then grilled or pan-seared until golden and charred at the edges. Served with warm pita, fresh tomatoes, red onion, and a creamy dairy-free tzatziki, it delivers all the tangy, herbaceous flavor of the original without any meat.

Ingredients

  • 1 lb (450 g) extra-firm tofu, pressed and cut into 1-inch cubes
  • 8 oz (225 g) cremini or white mushrooms, halved (or quartered if large)
  • 3 tbsp (45 ml) olive oil, plus more for the pan
  • 3 tbsp (45 ml) fresh lemon juice (about 1 lemon)
  • 3 cloves garlic, minced
  • 2 tsp (2 g) dried oregano
  • 1 tsp (5 g) smoked paprika (optional, for depth)
  • 1/2 tsp salt, plus more to taste
  • 1/4 tsp black pepper
  • 4 large pita breads or flatbreads, warmed
  • 1 cup (150 g) cherry tomatoes, halved
  • 1/2 red onion, thinly sliced
  • 1/2 cup (120 ml) vegan tzatziki (store-bought or homemade, see note)
  • Fresh parsley or mint, chopped, for garnish (optional)

Instructions

  1. Press the tofu: Wrap the tofu block in a clean kitchen towel or paper towels, place a heavy object (like a cast-iron skillet) on top, and let it sit for 15–20 minutes to remove excess water. This helps the tofu absorb the marinade and crisp up during cooking.
  2. Make the marinade: In a large bowl, whisk together the olive oil, lemon juice, minced garlic, dried oregano, smoked paprika (if using), salt, and black pepper.
  3. Marinate the tofu and mushrooms: Cut the pressed tofu into 1-inch cubes. Add the tofu cubes and mushroom halves to the bowl with the marinade. Gently toss to coat everything evenly. Cover and refrigerate for at least 30 minutes, or up to 2 hours for more flavor.
  4. Preheat the grill or skillet: If using an outdoor grill, preheat it to medium-high (about 400°F / 200°C). If using a stovetop, heat a large cast-iron or nonstick skillet over medium-high heat and add a drizzle of olive oil.
  5. Cook the souvlaki: Remove the tofu and mushrooms from the marinade, letting any excess drip off. Place them in a single layer on the grill or in the skillet. Cook for 4–5 minutes per side, turning occasionally, until the tofu is golden and slightly charred and the mushrooms are tender and browned. Total cooking time will be about 10–12 minutes. If using wooden skewers, thread the tofu and mushrooms onto skewers before cooking (soak skewers in water for 30 minutes first to prevent burning).
  6. Warm the pita: While the souvlaki cooks, warm the pita breads in a dry skillet over medium heat for about 30 seconds per side, or wrap them in foil and place in a 350°F (175°C) oven for 5–7 minutes.
  7. Assemble: Lay a warm pita on each plate. Add a generous spoonful of vegan tzatziki, then top with the cooked tofu and mushrooms, cherry tomatoes, red onion slices, and a sprinkle of fresh herbs if desired. Fold and serve immediately.

Tips

  • Don’t skip pressing the tofu: Wet tofu won’t absorb the marinade and will steam instead of crisping. Pressing for even 10 minutes makes a noticeable difference.
  • Use high heat: Souvlaki needs high heat to get those nice char marks. Make sure your pan is hot before adding the tofu and mushrooms, and don’t overcrowd the pan—cook in batches if needed.
  • Make your own tzatziki: To make vegan tzatziki, mix 1/2 cup (120 g) plain vegan yogurt with 1/4 cup (60 g) grated cucumber (squeezed dry), 1 clove minced garlic, 1 tbsp (15 ml) lemon juice, and a pinch of salt. It keeps for 2 days in the fridge.
  • Adjust the marinade time: If you’re short on time, 15 minutes of marinating still adds flavor, but 30 minutes to 2 hours is ideal. Don’t marinate overnight—the lemon juice can start to break down the tofu’s texture.

Serving Suggestions

Serve the souvlaki in warm pita with tzatziki, tomatoes, and red onion, as described. For a fuller meal, add a side of Greek salad (cucumber, olives, feta-style vegan cheese, and a simple vinaigrette), lemon potatoes, or a handful of crispy fries. It also works well over a bed of rice or quinoa with a drizzle of tahini sauce.

Variations

  • Seitan or tempeh: Swap the tofu for 1 lb (450 g) seitan chunks or tempeh cubes. Seitan cooks faster (about 5–6 minutes total), while tempeh benefits from a 10-minute steam before marinating to soften its texture.
  • Add vegetables: Thread bell pepper chunks, zucchini slices, or red onion wedges onto the skewers along with the tofu and mushrooms. They’ll cook in the same time and add color and sweetness.
  • Spicy version: Add 1/2 tsp (1 g) cayenne pepper or 1 tbsp (15 ml) hot sauce to the marinade for a kick.
  • Herb swap: If you don’t have oregano, use a mix of dried thyme and marjoram, or fresh oregano (use 2 tbsp / 6 g fresh).

Storage and Reheating

Leftover cooked tofu and mushrooms can be stored in an airtight container in the refrigerator for up to 4 days. To reheat, place them in a skillet over medium heat with a splash of water or olive oil for 3–4 minutes, or microwave for 1–2 minutes until hot. The pita and tzatziki are best stored separately; pita can be warmed in a toaster or dry skillet, and tzatziki should be eaten within 2 days. You can also freeze the cooked souvlaki in a freezer-safe bag for up to 2 months—thaw overnight in the fridge and reheat in a skillet.

Frequently Asked Questions

Can I bake the souvlaki instead of grilling? Yes. Preheat your oven to 425°F (220°C) and spread the marinated tofu and mushrooms on a parchment-lined baking sheet. Bake for 20–25 minutes, flipping halfway, until golden and slightly crisp. For extra char, broil for the last 2–3 minutes.

What can I use instead of mushrooms? If you don’t like mushrooms, use extra tofu (increase to 1.5 lb / 680 g) or add more vegetables like zucchini or eggplant. Just note that eggplant will soften more quickly, so cut it into thicker chunks.

Is this recipe gluten-free? The tofu and mushroom filling is naturally gluten-free. To make the whole meal gluten-free, use gluten-free pita or serve the souvlaki over rice or a salad, and ensure your tzatziki is certified gluten-free.

Can I make the marinade ahead of time? Absolutely. The marinade can be mixed up to 2 days in advance and stored in the fridge. Just whisk it again before adding the tofu and mushrooms.

Why is my tofu not crispy? The most common reason is overcrowding the pan—if the pieces touch, they steam instead of sear. Cook in batches, and make sure the pan is hot before adding the tofu. Also, do not skip pressing the tofu; excess moisture is the enemy of crispiness.

Can I use a grill pan indoors? Yes, a grill pan works perfectly. Preheat it over medium-high heat for 3–4 minutes before adding the tofu and mushrooms, and lightly oil the ridges to prevent sticking.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).