01 - Preheat the oven to 375°F (190°C).
02 - In a large skillet over medium heat, brown the ground beef. Add the chopped onion and cook until softened, about 3 minutes. Stir in garlic, cumin, chili powder, smoked paprika, oregano, salt, and black pepper, cooking for 1 minute until fragrant. Add diced tomatoes and simmer for 2 to 3 minutes. Remove from heat.
03 - In a saucepan over medium heat, heat vegetable oil and whisk in flour to form a roux, cooking for about 1 minute. Add chili powder, cumin, garlic powder, onion powder, oregano, and salt. Gradually whisk in broth and tomato paste. Bring to a simmer and cook 5 minutes until slightly thickened. Adjust seasoning as needed.
04 - Lightly grease a 9x13-inch (23x33 cm) baking dish and spread a thin layer of enchilada sauce on the bottom. Warm tortillas in the microwave under a damp towel for 30 seconds or briefly on a skillet to make them pliable.
05 - Place 2 to 3 tablespoons of the beef filling on each tortilla, sprinkle with some shredded cheese, then roll and place seam-side down in the baking dish.
06 - Pour remaining enchilada sauce evenly over the rolled tortillas and top with remaining shredded cheese.
07 - Bake for 20 to 25 minutes until cheese is melted and bubbly.
08 - Garnish with chopped cilantro and serve with sour cream if desired.