01 - Heat oil in a medium saucepan over medium heat. Whisk in flour and cook for 1 minute until fragrant. Add chili powder, cumin, garlic powder, onion powder, and cayenne, whisking constantly for 30 seconds. Gradually whisk in broth and tomato sauce. Bring to a simmer, whisking constantly, until thickened (5–7 minutes). Stir in vinegar and salt. Remove from heat and set aside.
02 - In a large skillet, cook ground beef over medium heat until browned. Drain excess fat if necessary. Add onion and cook until softened, about 4 minutes. Stir in garlic, cumin, oregano, smoked paprika, salt, and pepper. Cook for 1 minute more. Remove from heat.
03 - Preheat oven to 375°F.
04 - Warm tortillas until pliable. Spread ½ cup of sauce in the bottom of a 9x13-inch baking dish. Spoon 2–3 tablespoons of beef mixture and a sprinkle of cheese onto each tortilla. Roll up tightly and place seam-side down in the dish. Pour remaining sauce evenly over enchiladas and top with remaining cheese.
05 - Bake for 20–25 minutes, until cheese is melted and sauce is bubbling.
06 - Garnish with chopped cilantro and red onion. Serve hot.