This Vegan Souvlaki is so flavorful and delicious! Juicy tofu pieces are marinated in a rich savory sauce that is garlicky, lemon-zesty, herb-filled and has a touch of sweetness. Easily make these Greek skewers for a hearty, protein-filled meal that everyone will love!

This post may contain affiliate links. Please read my disclosure policy for more information.
If you’re craving unique savory flavors in a filling lunch or dinner recipe, look no further! This vegan souvlaki is high in plant-based protein, so easy to make, and a great way to change things up.
Souvlaki is a common street-food option that you can find in Greece or at Mediterranean restaurants. The name means “small pieces of meat on a skewer,” except we use tofu here!
These tofu souvlaki pieces are marinated in a tangy, smoky, herb-filled sauce and then grilled to char perfection. You can cook them on a regular cast-iron skillet, a grill pan, or outside on the grill.

Enjoy them as is, within a mezze platter, over rice with a Greek-style salad, or on pita bread with vegan tzatziki sauce!
For a full (vegan) Mediterranean spread, check out my Cucumber Beet Salad, Greek Meatballs, Orzo Pesto Salad, Couscous Salad, Lemon-Herb Tahini Sauce, Spicy Tahini Sauce, Roasted Tomato Sandwiches, and Chickpea Patties.
Reasons To Love This Recipe
- High in protein
- Incredibly delicious
- Quick and so easy to make
- Just a few simple ingredients

Get updates on my latest recipes sent right to your inbox! Click Here To Subscribe To My Email List!
Ingredient Notes
See the full list of ingredients below in the recipe card with exact measurements.

- Tofu – Super firm tofu holds together well, which you’ll want while it’s being cooked on the skewers.
- Oil – Oil such as olive or avocado help keep the tofu moist and provide a rich fat for the sauce.
- Lemon – Use fresh lemons for the most authentic, zippy Mediterranean flavors.
- Garlic – Freshly minced garlic is best here, but garlic powder can work as well.
- Herbs – Use dried oregano and rosemary for an authentic herb-filled flavor.
- Agave – A hint of sweetness brings it all together. Maple syrup can work here instead.
- Seasoning – Paprika, cumin, salt, and pepper season the tofu skewers perfectly.

How To Make Homemade Vegan Souvlaki
Here are some quick visual steps. Find the full recipe with exact measurements on the recipe card below.
Combine the marinade ingredients in a shallow dish that has a fitted lid.
Pat the tofu dry and then break it into bite sized pieces. You can also cut it into cubes here if you prefer a more uniform look and size. (I find that tearing it provides more nooks and crannies for the sauce to cling onto.)
Place the tofu pieces in the marinade, close the dish, and place it in the refrigerator.
Let the tofu marinate for 20 minutes or up to 2 hours, flipping the dish occasionally. (You can let the tofu marinate for more than 2 hours or overnight, but that will cause the pieces to become a bit more fragile.)
If your skewers are wooden, soak them for about 10 minutes.
Heat your grill pan or grill to medium-high and brush it with olive oil.
Skewer the marinated tofu pieces and cook them for 10-15 minutes. Rotate them after 4-5 minutes. Try not to move them too early before they develop grill marks.
(Save the remaining marinade sauce for brushing on later.)

Brush the skewers with leftover sauce while they are cooking and when you plate them.
Enjoy them on their own or serve them with pita bread, tzatziki, tomato, cucumber, red onion, Kalamata olives, fresh parsley, etc.
Tips for Success
- Tearing the tofu creates more ridges for the marinade to cling onto, but you can alternatively cut it into cubes for a more uniform look and size.
- Smaller tofu pieces, or if any fall off skewers, can be cooked on a grill pan alongside the tofu skewers.
- Try to not go over 2 hours of marinating time to prevent the tofu pieces from losing some of their structure. No biggie if you do though, just work extra carefully with them while cooking them.
- If the skewers are wooden, soak them in water for 10 minutes just before adding the tofu and grilling.
- Save the remaining marinade to brush over the tofu pieces while they cook or when plating them.
Storage And Reheating
Store leftover souvlaki tofu pieces in a sealed dish in the refrigerator for up to 4 days or in the freezer for 2 months. Reheat them on a grill pan or in the microwave until heated through.

More Vegan Mediterranean Recipes To Try!
I hope you loved this recipe! If you try it, please let me know what you think with a rating and comment below. Your feedback really supports my blog and is helpful to other readers! 🙂 You can stay updated on my latest recipes by following me on Pinterest and joining my Email List.

Vegan Souvlaki
Bonnie – Serene Trail
Equipment
- skewers, metal or wood
- grill pan, or cast-iron skillet or outdoor grill
Ingredients
- 16 oz super firm tofu, (454g)
- 1/4 cup extra virgin olive oil, (54ml)
- juice from a large lemon, (~3 tablespoons)
- 1 large garlic clove, minced
- 1/2 tbsp dried oregano
- 1 tsp agave nectar
- 1 tsp paprika
- 1/2 tsp dried rosemary
- 1/2 tsp salt
- 1/4 tsp pepper
- 1/4 tsp cumin
Instructions
- Combine all of the ingredients except for the tofu in a shallow dish that has a fitted lid.
- Pat the tofu dry, then break it into 1-inch pieces. Add the pieces to the marinade dish.
- Marinate the tofu for 20 minutes or up to 2 hours. Gently shake and flip the dish occasionally to spread the sauce throughout.
- If wooden, soak the skewers in water for 10 minutes. Heat the grill pan, skillet, or grill to medium-high. Brush the grill or pan with olive oil.
- Slide the tofu pieces onto the skewers. Cook them for 10-15 minutes. Rotate the skewers every 4-5 minutes.
- Brush them with the remaining marinade sauce. Enjoy them on their own, with rice and a Greek salad, within a mezze plater, or as a pita wrap with tzatziki.
Video
Notes
- Tearing the tofu creates more ridges for the marinade to hold onto, but you can also cut it into cubes for a more uniform size.
- Smaller pieces, or if any fall off skewers, can be cooked on a grill pan alongside the tofu skewers.
- Try not to go over 2 hours of marinating time to prevent the tofu from losing some of its structure. It’s okay if you do though, just work extra carefully with them while cooking them.
- If the skewers are wooden, soak them in water for 10 minutes just before adding the tofu.
- Save the remaining marinade to brush over the tofu pieces while they cook or when plating them.
Nutrition
The nutritional information provided is an estimate from third-party calculations.
Pin It For Later!







