In a medium saucepan over medium heat, add the vegetable oil and allow it to heat up for about 1 minute.
Sprinkle in the all-purpose flour and whisk continuously for about 1-2 minutes to create a roux. It should turn slightly golden but not brown.
Gradually pour in the tomato sauce and vegetable broth while whisking to avoid lumps. Continue whisking until the mixture is smooth.
Add the chili powder, ground cumin, garlic powder, onion powder, salt, and black pepper. Stir to combine.
Bring the sauce to a simmer, then reduce the heat to low. Let it cook for an additional 15 minutes, stirring occasionally.
After 15 minutes, taste the sauce and adjust seasoning if necessary. If you prefer a thinner sauce, add a bit more broth or water.
Remove from heat and let it cool slightly before using it in your enchiladas.