My vegetarian enchilada casserole brings together hearty layers of soft tortillas, rich homemade enchilada sauce, and a flavorful mix of vegetables and black beans. Who says you need meat?! With roughly an hour of your time, you can make a quick, easy, and comforting dinner that everyone loves. Topped with melty cheddar and fresh garnishes like avocado and cilantro, I swear it’s a hit every time!

This post contains helpful tips and tricks! If you’re in a rush, please use the “Jump to Recipe” above!
💭 Why you’ll love this recipe
- Quick, simple, and delicious. While it uses a lot of ingredients, it’s actually really easy to throw together. You can prep it in advance too!
- Easy to customize. You can swap the vegetables, make more spicy or less spicy, and add more cheese if you want. You can also skip the cheese and butter to make it vegan!
- A hit at every party. This is an easy casserole dish that will surely be an instant crowd favorite at birthdays, Thanksgiving, and holiday dinners.
📋 Ingredients and notes
To make this vegetarian enchilada casserole recipe, you’ll need to make the enchilada sauce and casserole filling.
- For the enchilada sauce, you’ll need butter, all-purpose flour, chili powder, vegetable broth, garlic powder, and salt.
- For the casserole, you’ll need olive oil, half an onion, garlic cloves, a potato, frozen corn, black beans, cumin, chili powder, and salt.
To assemble everything, you’ll need flour tortillas, cheddar cheese, green chiles, and your choice of toppings.

Variations & Substitutions
Enchilada sauce:
- Butter. Swap with vegetable oil to make it vegan.
- All-purpose flour. You can also use a 1:1 gluten-free flour blend or cornstarch.
- Chili powder. Skip this for a mild recipe, or substitute it with cayenne pepper or red pepper flakes.
- Vegetable broth. I prefer using a low-sodium broth, you can also use homemade vegetable stock.
Casserole filling:
- Olive oil. Or use any neutral oil.
- Aromatics. Use fresh onions and garlic for sauteing.
- Veggies. I used a potato, frozen corn, and black beans for the filling. You can also add bell peppers, mushrooms, tomatoes, spinach, or zucchini.
- Seasonings. I used cumin, chili powder, and salt to season it.
For assembling:
- Flour tortillas. Corn tortillas will also work great.
- Cheddar cheese. You can swap this with Monterey Jack cheese, pepper jack cheese, or a Mexican cheese blend. You can also use vegan cheese or skip it if you want to make it vegan.
- Green chiles. For a spicy kick. You can skip for a mild casserole.
- Optional toppings. Top it with your favorite toppings like avocados, cilantro, and sour cream.
📖 How to make vegetarian enchilada casserole
Step 1:
In a medium saucepan, heat the butter over medium heat. Add the flour and whisk together, cooking for about 1 minute to form a roux.

Step 2:
Stir in the chili powder, garlic powder and cook for another 30 seconds, whisking constantly.

Step 3:
Gradually add the vegetable broth, whisking continuously to prevent lumps. Bring the sauce to a simmer, and cook for about 10 minutes, stirring occasionally, until the sauce thickens. Remove from heat and let it cool slightly before using.

Step 4:
In a skillet, sauté the onion, garlic, and potatoes in olive oil over medium heat until tender, about 10 minutes. Cover halfway through to allow the potatoes to steam and soften. Add the corn, black beans, cumin, chili powder, and salt, and cook until warmed through.


Step 5:
Preheat the oven to 356º F. Grease a 9×13 baking dish.
Step 6:
Spread ½ cup of enchilada sauce to coat the bottom of your baking dish. Lay 2 tortillas on top of the sauce. Spread half of the vegetable mixture over the tortillas.


Step 7:
Sprinkle half of the green chilies and 1 cup of grated cheese. Drizzle with another ½ cup of enchilada sauce.


Step 8:
Top with 2 more tortillas, then add the remaining filling, green chilies, and 1 cup of cheese. Finish with 2 more tortillas.


Step 9:
Pour the remaining enchilada sauce over the top and add any extra cheese if you prefer a cheesy top.

Step 10:
Cover tightly with foil (use parchment paper to prevent the foil from touching the casserole) and bake for 30 minutes. Uncover and bake for an additional 10 minutes. Top with diced avocado, cilantro, and sour cream.

Shruthi’s Top Tip
Use warm vegetable broth to prevent the sauce from cooling down too quickly, which helps it thicken evenly.
- Dice potatoes uniformly into 1/2 inch cubes to ensure even cooking and a balanced texture in every bite. Cover the potatoes halfway through sautéing to steam them, ensuring they become tender without burning.
- Add a pinch of smoked paprika to the filling for a subtle smoky depth that complements the chili powder.
- Overlap tortillas slightly when layering to prevent gaps and ensure the casserole holds together well when sliced.
- Place parchment paper under the foil to prevent cheese from sticking, ensuring a clean, even bake.
👩🏽🍳 Troubleshooting FAQs
Yes, you can prepare the sauce up to three days in advance. Store it in an airtight container in the refrigerator and reheat gently before using.
Let the enchilada sauce cool slightly before assembling the casserole and ensure that the tortillas are not overly soaked with sauce.
Sweet potatoes or butternut squash can be great substitutes. They offer a slightly different flavor but maintain the hearty texture.
Yes, corn tortillas can be used. Lightly fry them in oil before layering to prevent them from breaking.
Add extra chili powder or a dash of cayenne pepper to the filling, or include some finely chopped jalapeños or hot sauce for an added kick.
🍴 How to serve enchilada casserole
This enchilada casserole is a great addition to your dinner table, whether you need to impress a crowd or want a hearty weeknight dinner.
Serve it with a side of rice, refried beans, or a Mexican corn salad. I also love having mango salsa, guacamole, poblano sauce, or pickled jalapeños on the side for extra flavor.

🍴Storage and reheating suggestions
This recipe is make-ahead and freezer-friendly. To do this, assemble the casserole, but instead of baking, cover it tightly with a plastic wrap and then foil. You can freeze it for up to 3 months. Thaw overnight in the fridge before baking as instructed.
To store leftovers, cover the baking with foil or plastic wrap and store in the refrigerator for up to 4 days. You can reheat it in the oven at 350F for 20 minutes or heat individual portions of it in the microwave.
🍴 More vegetarian casserole recipes
If you like this recipe, check out my other casserole recipes:
Eggplant Casserole
Squash and Zucchini Casserole
Corn Casserole with Cream Cheese
Baked Cauliflower with Cheese
If you tried this recipe, don’t forget to comment and rate! ⭐⭐⭐⭐⭐

Vegetarian Enchilada Casserole
Ingredients
For the enchilada sauce:
- 2 tablespoons unsalted butter
- 2 tablespoons all-purpose flour
- 2 tablespoons chili powder
- ½ teaspoon garlic powder
- 2 cups vegetable broth
- ½ teaspoon kosher salt
Casserole Filling:
- 2 tablespoons olive oil
- ½ medium yellow onion, diced
- 4 cloves garlic, roughly chopped
- 1 large Russet potato, diced into ½-inch cubes
- 2 tablespoons water
- 2 cups frozen corn
- 1 15-oz can black beans, drained and rinsed
- 2 teaspoons ground cumin
- 2 teaspoons chili powder
- 1 teaspoon kosher salt
For Assembling:
- 8 flour tortillas, prefer 6-inch size, but can use larger ones
- 3 cups shredded cheddar cheese
- 1 4-oz can diced green chiles, approx ½ cup, adjust to heat tolerance
For Toppings:
- 1 medium avocado, diced, for garnish, optional
- 2 tablespoons fresh cilantro, chopped, for garnish, optional
- ½ cup sour cream, optional
Instructions
Make enchilada sauce
- In a medium saucepan, melt butter over medium heat. Add flour and whisk together, cooking for 1 minute to form a roux.
- Stir in chili powder and garlic powder. Cook 30 seconds, whisking constantly.
- Gradually add vegetable broth, whisking continuously to prevent lumps. Bring to a simmer and cook 10 minutes, stirring occasionally, until sauce thickens. Stir in salt. Remove from heat and set aside.
Make enchilada filling
- Heat olive oil in a large skillet over medium heat. Add onion, garlic, and potatoes. Cook, stirring occasionally, for 5 minutes.
- Add 2 tablespoons water, cover, and continue cooking until potatoes are tender, another 5-7 minutes. Uncover and cook off any remaining liquid, about 1 minute.
- Add corn, black beans, cumin, chili powder, and salt. Stir and cook until warmed through, about 2 minutes. Remove from heat.
Assemble enchiladas
- Preheat oven to 350°F. Grease a 9×13 baking dish.
- Spread ½ cup enchilada sauce on bottom of baking dish. Layer 3 tortillas (overlapping slightly) over sauce. Top with half the filling, half the green chiles, and 1 cup cheese. Drizzle with ½ cup sauce.
- Add another layer of 3 tortillas, remaining filling, remaining green chiles, and 1 cup cheese. Drizzle with ½ cup sauce.
- Top with remaining 2 tortillas. Pour remaining sauce over top and sprinkle with remaining 1 cup cheese.
- Cover tightly with foil (place parchment paper under foil to prevent cheese from sticking). Bake 30 minutes.
- Remove foil and bake uncovered 10 minutes until cheese is bubbly and edges are golden.
- Let rest 5 minutes before slicing. Serve topped with diced avocado, cilantro, and sour cream.
Notes
- Use warm vegetable broth to prevent the sauce from cooling down too quickly, which helps it thicken evenly.
- Dice potatoes uniformly to ensure even cooking. Cover the potatoes halfway through sautéing to steam them, ensuring they become tender without burning.
- Overlap tortillas slightly when layering to prevent gaps and ensure the casserole holds together well when sliced.
- Place parchment paper under the foil to prevent cheese from sticking, ensuring a clean, even bake.
- Variations:
- Swap black beans for pinto beans
- Use corn tortillas for gluten-free (may need 10-12 smaller tortillas)
- Stir ½ cup corn into the sauce for a creamier texture
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
















too high in fat, calories