Vegan Fajitas
These vegan fajitas are a colorful Tex-Mex wrap built around crispy oven-roasted textured soy protein, grilled peppers and cabbage, and a swipe of guacamole and salsa, all tucked into a soft tortilla. They have a meaty texture and a bold, smoky flavor that makes them feel like the real thing, with no meat, cheese, or sour cream in sight. If you want a plant-based dinner that comes together from mostly fridge-and-pantry staples, this is it.

This is the first time I ever ate fajitas, can you believe it?! Here is how it happened: I was actually craving the traditional Turkish shawarma and wanted to remember its taste, but in a meat-free version, of course. I had some really awesome ingredients in the fridge, so I strayed away from the shawarma recipe and ended up creating these vegan fajitas instead. So glad I did! For those of you who don’t know (like I didn’t, ha) fajitas are a staple of Tex-Mex cuisine, made with grilled meat served on a taco or tortilla wrap. I followed the traditional recipe but skipped the meat, cheese, and sour cream, replacing them with textured soy protein and adding guacamole instead of the classic fajita sauce.
What goes into these vegan fajitas
The star here is textured soy protein (you can use noodles or chunks). It is what gives the wraps their meaty bite and stands in for the beef or chicken in classic fajitas. A quick boil rehydrates it, then a turn in the oven crisps it up. The vegetables are simple and forgiving: a sliced bell pepper (I used frozen mixed-color slices, which work beautifully), chopped cabbage, and julienned onion for that grilled, slightly charred flavor.
The fresh layer is where these wraps come alive: a handful of arugula for a peppery note, sliced pickles for tang, and a double hit of tomato salsa and guacamole instead of a heavy sauce. Because I can’t eat gluten, I used gluten-free tortilla wraps by Schar, which had just become available here in Romania too. Any tortilla you like will do. A little thyme and sea salt season the soy protein, and that is the whole list.
How to get that meaty, crispy texture
- Boil the textured soy protein for about 5 minutes first, then strain it very well. Pressing out the extra water is the single most important step, because waterlogged soy will steam instead of crisp in the oven.
- Spread the strained soy on a greased tray, drizzle with a little oil, and sprinkle with thyme. Roast at 375F for around 30 minutes, until the edges turn crispy and golden.
- Grill the peppers and cabbage on a hot grill pan for about 10 minutes, covering with a lid so they soften through while picking up those charred marks.
- Spread the salsa and guacamole directly onto the wraps before adding the fillings. This keeps the tortilla from drying out and helps everything hold together when you roll it.

Why roasting the soy protein works
Boiling alone leaves textured soy soft and a bit spongy, which is fine in a stew but disappointing in a wrap. The oven does the real work: as the surface moisture evaporates, the outside firms up and browns, giving you that chewy-crisp contrast that reads as “meaty” on the palate. The thin coat of oil helps conduct heat evenly and carries the thyme’s flavor into the protein, so every bite is seasoned rather than bland.
What to serve with vegan fajitas
These wraps are filling on their own, but they love company on a Tex-Mex night. If you are feeding a crowd, set them next to a batch of smoky vegan tacos with salsa verde for a build-your-own spread. A warm bowl of vegan red lentil soup rounds the meal out on cooler evenings, and a fresh vegan Olivier salad on the side keeps things light and balanced.
Make-ahead and storage tips
The components keep better separately than fully assembled, since a built wrap will soften as the salsa and guacamole soak in. Roast the soy protein and grill the vegetables ahead, then store them in the fridge for up to 3 days and reheat in a hot pan or the oven to bring back the crisp. Keep the guacamole in an airtight container with plastic pressed onto the surface so it does not brown, and slice the fresh arugula and pickles just before eating. When you are ready, spread the sauces, pile in the fillings, divide everything between the two wraps, and roll. If you enjoy these, you will probably also like the gluten-free flatbreads with sesame as another easy wrap base to keep on hand.
If you make these vegan fajitas, I would love to know how that crispy soy protein turned out for you. Leave a rating and drop a comment below with any swaps you tried, especially if you found a fun salsa or filling combo of your own. I can now enjoy these every time I want, and I’m sure you’ll love them too!
Summarise & Save This Recipe
★ Add us as a trusted Google source
Vegan Fajitas
Ingredients
- 2 tortilla wraps I used gluten-free wraps from Schar
- 1 bell pepper sliced; I used frozen bell pepper slices with mixed colors
- 1 handful arugula
- 2 pickles sliced
- 1 cup cabbage chopped
- 1 onion julienned
- 4 Tbsps tomato salsa half this quantity per portion
- 4 Tbsps guacamole half this quantity per portion
- 50 g textured soy protein noodles or chunks
- 1 tsp thyme
- ½ tsp sea salt
Instructions
- Bring water to a boil in a small pot. Add salt, then add the textured soy protein noodles. Boil for 5 minutes and remove from heat.
- Heat the oven to 375F (190C). Grease an oven tray with a little oil.
- Strain the soy noodles very well. Spread them on the oven tray, drizzle with oil and sprinkle with thyme.
- Roast in the oven for 30 minutes, until crispy.
- Heat a grill pan and spray it with a little oil.
- Add the bell peppers and cabbage.
- Grill for 10 minutes, covering the grill pan with a lid.
- Spread the sauces over the tortilla wraps.
- Add all the ingredients to the wraps (divide the quantities in half: half in one wrap and the rest in the other).
- Fold up your vegan fajitas and enjoy!
Notes
Frequently Asked Questions
Yes. These fajitas are fully plant-based. They skip the meat, cheese, and sour cream of the classic version and use textured soy protein, grilled vegetables, salsa, and guacamole instead. There are no animal products in the recipe.
Textured soy protein gives the meaty, chewy texture that stands in for beef or chicken, and it comes as noodles or chunks. If you cannot find it, other rehydratable soy or textured vegetable protein works the same way. The key is to boil, strain very well, and roast it so it crisps up.
Yes. I made mine with gluten-free tortilla wraps by Schar because I cannot eat gluten. Just choose a certified gluten-free tortilla and check that your textured soy protein and salsa are gluten-free as well, since formulations vary by brand.
Boiling rehydrates the soy protein but leaves it soft and spongy. Roasting it at 375F for about 30 minutes evaporates the surface moisture so the outside firms up, browns, and turns crispy. That chewy-crisp contrast is what makes the filling feel meaty in the wrap.
Yes, but store the components separately rather than assembling the wraps in advance, since salsa and guacamole soften the tortilla over time. Roast the soy protein and grill the vegetables up to 3 days ahead, refrigerate, then reheat in a hot pan or oven to restore the crisp before assembling.
This recipe uses bell pepper, cabbage, and onion grilled together, plus fresh arugula and sliced pickles added raw at the end. Frozen mixed-color bell pepper slices work great and save prep time. Grilling the peppers and cabbage under a lid for about 10 minutes gives them a charred, tender flavor.

My choice for a healthy lunch. Tried it multiple times before and it’s perfect every time! I even tricked my mother into making it on a regular basis. Oh, and we both love your blog so much! 🙂
Thank you! So happy to hear you liked the recipe! 😀