In a medium saucepan, heat the vegetable oil over medium heat.
Whisk in the flour and cook for 1 minute, stirring constantly, until lightly browned.
Add the chili powder, cumin, oregano, garlic powder, onion powder, and cayenne pepper (if using). Cook for another minute, stirring constantly, until fragrant.
Gradually whisk in the broth and tomato paste until smooth. Bring to a simmer.
Reduce heat to low and simmer for 10-12 minutes, or until the sauce has thickened to your desired consistency, stirring occasionally.
Season with salt and black pepper. Taste and adjust seasonings as needed.
Use immediately or let cool and store in an airtight container in the refrigerator for up to a week.
Notes
This homemade enchilada sauce is perfect for any of your favorite enchilada recipes. You can also use it as a base for chili or a dipping sauce.