Heat the oil in a saucepan (or any deep pan) on medium heat. Once hot add flour. Using a whisk, mix and cook for 1-2 minutes. Do whisk constantly.
Add red chili powder. Mix and cook for 30 seconds only. (make sure not to burn)
Keep whisking and adding vegetable broth a little at a time. Make sure there are no lumps.
Now add the rest of the spices (ground cumin, garlic powder, onion powder, ground coriander, oregano, smoked paprika), salt and pepper. Whisk well until combined.
Bring the mixture to a boil and then lower the heat and let it simmer for 5 minutes or until thickens. Do stir in between and make sure that it is not sticking to the bottom of the pan.
Video
Notes
Make it spicier: You can add cayenne pepper or chipotle chile powder to make it spicy. Or just add some hot sauce.
Make it milder: Reduce the amount of chili powder.
Measure and keep the spices handy before start cooking. Since we are using quite a few different ones, it is smart to keep them ready and add them all at once.
Make sure to cook the flour into the oil for at least 2 minutes. Otherwise, the raw taste of flour may ruin the flavor of the enchilada sauce.
After adding chili powder into the roux, cook for just 30 seconds otherwise it will burn. We just want to toast briefly to let the flavors bloom.
Add vegetable broth little by little and keep whisking to avoid lumps.
Freeze enchilada sauce: You can make a double/triple batch and freeze it for later. It stays good for 3 months. Once cools down, store the enchilada sauce in a freezer-safe container in smaller portions.