Sunday, November 24, 2024
HomeHealthy FoodEasy Vegetarian Fajitas

Easy Vegetarian Fajitas


Everyone loves this easy vegetarian fajitas recipe! This Tex Mex dinner is full of big flavor and beautiful colorful veggies. As two cookbook authors, fajitas is something we know will always please a crowd, whether it’s served with tortillas or as fajita salad.

Vegetarian fajitas

Why we love this recipe

Here’s a Tex Mex meal that’s always a hit for us—and a great way to infuse loads of veggies without giving it a second thought. These Vegetarian Faijtas are so full flavored, they please everyone around the table—even the meat lovers!

This fajita recipe stars our favorite fajita veggies, blackened in the oven and finished on the stove, with pinto beans cooked in a flavorful fajita sauce. It’s so satisfying, you’ll promptly add it to your regular rotation. We love serving it with tortillas or as fajita salad over greens, making it work for many different diets!

Tips for vegetarian fajitas

These vegetarian fajita recipe can come together in about 30 minutes. There’s a little back and forth between the cooking methods, so here are a few tips:

  • Brush up on your knife skills. There’s quite a bit of veggies here, so use your most efficient knife skills. Head to How to Cut a Pepper or How to Cut an Onion if you need to brush up.
  • Broil the veggies first. Throwing the veggies in a broiler gets them to release their liquid so they’ll all fit in one sauté pan, and gets them lightly charred.
  • While the veggies broil, prep the beans. Make our homemade fajita sauce and throw it in a skillet with the beans.
  • Finish the veggies in a skillet: Finishing in the skillet gets them nice and tender and that classic fajita skillet sizzle.
Vegetarian fajita recipe

Pinto beans add protein and flavor

The key to vegetarian fajitas is finding a stand in for meat that has great flavor and a good amount of protein. We’ve used portobello mushrooms in the vegetable mix to add big meaty flavor. But mushrooms don’t have protein, so on their own they’re not very filling.

Pinto beans are perfect for vegetarian fajitas! They’re savory with a robust flavor, and they taste incredible with homemade fajita sauce. If you prefer, you can use black beans instead. Just don’t skimp on the beans, since they’re the major protein source.

Vegetarian fajitas
Use our fajita veggies for any type of fajitas: vegetarian, shrimp or meat!

Homemade fajita sauce is key

We highly recommend our homemade fajita sauce for this recipe! It’s got a great zing from lime juice, seasoning from cumin and garlic powder, and a smoky body from adobo sauce. Head over to Homemade Fajita Sauce for the full recipe!

A bit more about chipotle peppers in adobo sauce: this ingredient is easy to find at most grocery stores near the Mexican products. All you do is use a spoon to remove adobo sauce from the can. Refrigerate or freeze the remainder, and use it for more adobo sauce recipes, like tortilla soup, enchilada sauce, or chipotle ranch dressing.

Vegetarian fajitas

Toppings for vegetarian fajitas

Once you’ve made your veggies and pinto beans: let’s talk toppings! You can use any of your favorite fajita toppings here. In fact: the toppings are the only thing that make this vegetarian fajita recipe! Otherwise, all the ingredients are vegan. So you can make this a vegan fajitas recipe with plant-based toppings. Here are our must-have fajitas toppings (what are yours?):

  • Pico de gallo: It adds just the right zing
  • Sour cream: Always. For vegan, substitute Cashew Cream
  • Fresh cilantro: Another must! It’s the perfect contrast to the savory veggies
  • Guacamole: Optional — or use a mashed avocado
  • Cheese: Optional too! You can add shredded cheddar, feta, queso fresco or cotija cheese: but the flavor doesn’t need it! It’s ultra flavorful as is.
Vegetarian fajitas

Sides to serve

These vegetarian fajitas are fantastic on their own: most nights we don’t even make a side to go with them! (Truth.) But here are a few easy ideas for what to serve with fajitas:

More fajitas recipes? Try these Shrimp Fajitas, Vegan Fajitas or Fajita Salad.

Dietary notes

This vegetarian fajita recipe is vegetarian, vegan, plant-based, dairy-free and gluten-free (with corn tortillas).

Frequently asked questions

What else can I use as a substitute for meat in vegetarian fajitas?

There are plenty of delicious options for vegetarian fajitas! Some popular choices include:

Portobello mushrooms: Their meaty texture and umami flavor make them a great substitute for steak.

Tofu or tempeh: These soy-based proteins can be marinated and grilled for a satisfying bite.

Black beans or lentils: These legumes add protein and fiber to your fajitas.

Can I make vegetarian fajitas ahead of time?

Yes! You can chop the vegetables and prepare the seasonings in advance. Store them separately in the refrigerator and cook them just before serving. This makes vegetarian fajitas a great option for meal prepping or entertaining.

Can I grill vegetarian fajitas instead of cooking them on the stovetop?

Absolutely! Grilling fajitas imparts a delicious smoky flavor. Thread vegetables onto skewers or cook them directly on the grill grates over medium heat.

Print

Vegetarian fajitas

Easy Vegetarian Fajitas


5 Stars 4 Stars 3 Stars 2 Stars 1 Star

4.6 from 17 reviews


  • Author:
    Sonja Overhiser


  • Prep Time:
    10 minutes


  • Cook Time:
    20 minutes


  • Total Time:
    30 minutes


  • Yield:
    4 to 6 servings


Save Recipe

Recipe Saved

(function(){
function initGrowMeSdk() {
if (!window.growMe) {
window.growMe = function (e) {
window.growMe._.push(e);
}
window.growMe._ = [];
}
}
initGrowMeSdk();
window.growMe(function() {
function updateFavoriteButtonState(isFavorite) {
document.querySelectorAll(‘.tasty-recipes-mediavine-button’).forEach(function(el) {
el.querySelector(‘.tasty-recipes-saved’).style.display = isFavorite ? null : ‘none’;
el.querySelector(‘.tasty-recipes-not-saved’).style.display = isFavorite ? ‘none’ : null;
});
}
document.querySelectorAll(‘.tasty-recipes-mediavine-button’).forEach(function(el) {
el.addEventListener(‘click’, function() {
window.growMe.addBookmark();
});
});
window.growMe.on(‘isBookmarkedChanged’, function(data) {
updateFavoriteButtonState(data.isBookmarked);
});
var isBookmarked = window.growMe.getIsBookmarked();
updateFavoriteButtonState(isBookmarked);
});
}())

Description

Everyone loves this easy vegetarian fajitas recipe! This Tex Mex dinner is full of big flavor and beautiful colorful veggies. As two cookbook authors, fajitas is something we know will always please a crowd, whether it’s with tortillas or as fajita salad.


Ingredients

  • 3 bell peppers (red, yellow, green)
  • 1 medium red onion
  • 2 portobello mushrooms
  • 4 tablespoons oil, divided
  • 1 ½ teaspoons kosher salt, divided
  • 3 cloves smashed garlic
  • 2 teaspoons cumin
  • 1 each teaspoon chili powder, garlic powder, and smoked paprika
  • ¼ teaspoon black pepper
  • 2 15-ounce cans pinto beans
  • 1 recipe Homemade Fajita Sauce*
  • Small tortillas
  • For the toppings: Sour cream, pico de gallo, fresh cilantro, guacamole (optional), shredded cheese (optional)


Instructions

  1. Broil the veggies: Preheat a broiler. Thinly slice the bell peppers and thinly slice the onion. Remove the stems and slice the portobello mushrooms. Place them in a bowl and toss with 2 tablespoons oil and 1 teaspoon kosher salt. Spread the veggies on a parchment lined sheet pan. Place in the broiler and broil 8 to 10 minutes, stirring halfway through, until softened and blackened on some edges. Then go right to Step 3. 
  2. Cook the beans: Meanwhile in a skillet, whisk together the ingredients for the Homemade Fajita Sauce. Drain and rinse the pinto beans and add them to the skillet. Heat over medium heat and cook until warmed through and the sauce is thickened, about 6 to 8 minutes. Taste and stir in another ¼ teaspoon kosher salt. 
  3. Saute the veggies: Once the veggies are done in the broiler, finish them on the stove by heating the remaining 2 tablespoons oil in a cast iron skillet or large non-stick skillet over medium high heat. Add the broiled veggies, smashed garlic cloves, cumin, chili powder, garlic powder, smoked paprika, and the remaining ½ teaspoon kosher salt. Cook for 5 minutes, stirring occasionally, until the veggies are tender. Remove and discard the garlic cloves before serving.
  4. Warm the tortillas: Warm and char the tortillas by placing them on an open gas flame on medium for a few seconds per side, flipping with tongs, until they are slightly blackened and warm. (See How to Warm Tortillas.)
  5. Serve: Place bowls of fajita veggies and pinto beans on the table, with tortillas, sour cream, pico de gallo, guacamole, and fresh cilantro. Let each person add their desired toppings and serve. Leftovers store refrigerated for up to 3 days.

Notes

*We highly recommend this homemade fajita sauce! Or you can substitute ½ cup store bought sauce. For the fajita sauce, mix together 3 tablespoons fresh lime juice, 1 tablespoon cumin, 1 to 2 tablespoons adobo sauce (from 1 can chipotle peppers in adobo sauce), 1 teaspoon garlic powder, 1 teaspoon kosher salt, and ¼ cup olive oil.

  • Category: Main DIsh
  • Method: Stovetop
  • Cuisine: Tex Mex
  • Diet: Vegetarian

(function(){
window.addEventListener( ‘message’, function( event ){
if ( ( ‘https://nutrifox.com’ !== event.origin && ‘https://nutrifox.test’ !== event.origin ) ||
typeof event.data !== ‘string’ ) {
return;
}
var payload = JSON.parse( event.data );
switch ( payload.event ) {
case ‘setHeight’:
var iframe = document.getElementById( ‘nutrifox-label-‘ + payload.recipeId );
iframe.style.height = payload.height + ‘px’;
break;
}
} );
}());

window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/www.acouplecooks.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:””,”postId”:94251};
window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.smoothScroll = {
init() {
window.addEventListener( ‘click’, e => {
let anchor = e.target;
if ( ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
if ( anchor.tagName === ‘A’ ) {
return;
}

anchor = anchor.closest( ‘a’ );
if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}
}

const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
history.pushState( {}, ”, selector );
}
};

(function( callback ) {
if ( document.readyState !== ‘loading’ ) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.smoothScroll.init();
});

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});

window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );

const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}

const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}

const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}

if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}

const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});



RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments