Combine the flour and spices (chili powder, ground cumin, garlic powder, dried oregano, Kosher salt, and ground cinnamon) in a small bowl and mix together. Set aside.
Preheat the oil in a medium saucepan over medium-low heat until a pinch of flour sizzles when dropped in the oil.
Add the flour and spice mixture and whisk until fully combined with the oil. Cook for one minute until the mixture is fragrant.
Add the tomato paste, whisking to combine with the flour mixture. The mixture will become very thick.
While whisking constantly, slowly add the vegetable broth until fully incorporated. Bring the mixture to a simmer and cook for about 5 minutes, whisking frequently, until the mixture has thickened.
Remove from the heat and stir in the apple cider vinegar. Start with 2 teaspoons and add more to taste.
Let the sauce cool before storing. Transfer to a glass container and keep in the refrigerator for up to 5 days.
In a large, deep skillet or Dutch oven, heat the olive oil over medium heat.
Add the onions and sauté for 2-3 minutes until they start to soften.
Add the ground beef and cook for 5-6 minutes until no longer pink, breaking up the beef with a spoon as it cooks.
Add the taco seasoning (or garlic powder, chili powder, and cumin) to the pan, stir well, and cook for an additional minute.
Add the prepared Homemade Enchilada Sauce, broth, and dry pasta, and stir to combine. Cover the pan and bring to a boil.
Reduce to a simmer and cook for 15-20 minutes, stirring occasionally until the pasta is tender and has absorbed most of the cooking liquid. Note: Different brands of pasta may have varying cook times.
If adding sour cream, cream cheese, or corn, stir in just before the last 2 minutes of cook time.
Remove the pan from the heat and stir in the cheese. Add in any optional mix-ins.
Garnish as desired with green onions, fresh diced tomatoes, black olives, sour cream, and cilantro. Serve hot and enjoy!