This smoky, slightly sweet enchilada sauce comes together in a single pan and is made with simple pantry staples. Just 15 minutes stand between you and better-than-canned enchilada sauce!

Key Ingredients & Substitutions
- Chili powder. The backbone of the sauce's flavor - use a good-quality blend, since a stale one will taste flat no matter what else you add.
- Smoked paprika. Adds a deep, campfire-like smokiness that stands in for the toasted-chile flavor without the extra step. Regular paprika works in a pinch but the sauce will taste milder.
- Chipotle pepper in adobo. The main heat source. One pepper gives moderate heat; use less for a milder sauce or add a second for real spice.
- Unsweetened cocoa powder. The secret ingredient - just a teaspoon rounds out the chile flavor with a subtle richness, similar to what cocoa does in mole. It won't taste chocolatey.
- Vegetable broth. Use a low-sodium version if you're watching salt, since the chili powder and adobo sauce both add sodium too.
- All-purpose flour. Thickens the sauce and gives it body. Swap in masa harina for a more traditional, slightly corn-forward flavor, or use a gluten-free flour blend to make the recipe GF.
- Maple syrup. Balances the acidity and heat with a touch of sweetness. Agave works as a substitute.
- Orange zest. A finishing touch that brightens the whole sauce - don't skip it, even though it seems small.
Helpful Tips
Toast the spices before adding liquid. Cooking the chili powder and other spices in the oil and flour for a full minute wakes up their flavor and gets rid of any raw, dusty taste. This step matters more than it seems like it should.
Add the broth slowly. Whisking in the broth a little at a time, rather than all at once, keeps the flour from clumping and gives you a silky, lump-free sauce.
Taste before you season with salt. Chili powder, adobo sauce, and broth all bring their own sodium, so it's easy to over-salt if you add it too early. Season at the very end instead.
Adjust the heat to your crowd. The minced chipotle is where all the heat lives. Start with half a pepper if you're serving spice-sensitive eaters, or add a second pepper plus extra adobo sauce if you like it fiery.
Blend it if you want it silky. This sauce is smooth as written, but if you want a completely restaurant-style texture, an immersion blender run through it for a few seconds will erase any last bit of texture from the onion.
Variations
- Extra smoky. Double the smoked paprika and add a pinch of chipotle powder for a deeper, more barbecue-like flavor.
- Mild and kid-friendly. Skip the chipotle pepper entirely and use just the adobo sauce for a whisper of smokiness without the heat.
- Mole-inspired. Double the cocoa powder and add a pinch of cinnamon for a sauce that leans into mole territory.
- Green enchilada version. Swap the tomato sauce and chili powder base for blended tomatillos and green chiles, keeping the cumin, garlic, and onion the same.
- Extra citrusy. Add the zest and a squeeze of juice from a whole orange instead of just the zest from half, plus a squeeze of lime at the end.
- Chunkier, rustic style. Dice the onion a little larger and skip blending - the sauce will have more texture, closer to a chili than a smooth enchilada sauce.
Serving Ideas
This sauce is built for classic enchiladas - pour it over rolled tortillas stuffed with black beans, sweet potato, or your favorite vegan filling before baking. It also holds up well as a simmer sauce: pour it over roasted cauliflower or crispy tofu and let everything simmer together for a few minutes before serving over rice.
Beyond enchiladas, this is a great base for a quick weeknight taco sauce, a topping for a Southwestern-style rice bowl, or a smoky finish drizzled over a tofu scramble at brunch.
Storing & Freezing
Let the sauce cool completely, then store it in an airtight container in the refrigerator for up to 5 days. It will thicken slightly as it chills - a splash of broth or water when reheating brings it back to pourable consistency.
To freeze, cool the sauce fully and transfer it to a freezer-safe container or bag, leaving room for expansion, for up to 3 months. Thaw overnight in the refrigerator and whisk well while reheating on the stovetop, since flour-thickened sauces can separate slightly in the freezer - a good whisk brings it right back together.
More Vegan Recipes
If you love this vegan enchilada sauce, be sure to check out these other delicious plant-based recipes:
- Creamy Vegan Enchilada Casserole
- Super-Easy Vegan Tortilla Casserole
- Homemade Vegan Tortillas
- Vegan Cinco de Mayo Recipes
Recipe

Vegan Enchilada Sauce
Ingredients
- 2 tablespoon olive oil
- 1 onion small, finely chopped
- 3 cloves garlic peeled and minced
- 3 tablespoon all-purpose flour or use masa harina for gluten-free
- 3 tablespoon chili powder
- 1 teaspoon smoked paprika
- 1 teaspoon ground cumin
- 1 tsp dried oregano
- 1 teaspoon unsweetened cocoa powder
- ½ teaspoon fine sea salt plus more to taste
- 2 ½ cups vegetable broth
- 8 oz canned tomato sauce
- 1 chipotle pepper in adobo sauce minced, plus 1 teaspoon of the adobo sauce
- 1 teaspoon apple cider vinegar
- 1 teaspoon maple syrup or agave syrup
- zest of ½ an orange optional
Instructions
- Heat the olive oil in a saucepan over medium heat. Add the onion and cook for 4-5 minutes until translucent. Add the garlic and cook 1 minute more, until fragrant.
- Stir in the flour, chili powder, smoked paprika, cumin, oregano, cocoa powder, and salt. Cook for 1 minute, stirring constantly, to toast the spices and cook off the raw flour taste.
- Slowly whisk in the vegetable broth, a little at a time, to keep the mixture smooth. Whisk in the tomato sauce, minced chipotle, and adobo sauce.
- Bring to a gentle simmer and cook uncovered for 10-12 minutes, stirring occasionally, until thickened enough to coat the back of a spoon.
- Remove from heat and stir in the apple cider vinegar, maple syrup, and orange zest. Taste and adjust salt as needed.
- Use immediately over enchiladas, or cool and store in an airtight container in the refrigerator for up to 5 days, or freeze for up to 3 months.






Leave a Comment!