01 - Set oven temperature to 375°F.
02 - In a large skillet over medium heat, cook ground beef and onion, stirring occasionally, until beef is browned and onion softens, approximately 6 minutes. Drain excess fat if necessary.
03 - Add garlic, cumin, chili powder, smoked paprika, salt, and black pepper to the skillet. Cook, stirring, for one minute. Pour in beef broth and simmer until most liquid evaporates, about 3 minutes. Remove from heat.
04 - Heat vegetable oil in a saucepan over medium heat. Whisk in flour and cook for one minute.
05 - Add chili powder, cumin, garlic powder, onion powder, and oregano to the roux. Stir for 30 seconds until fragrant. Gradually whisk in broth, then add tomato paste, salt, and black pepper. Simmer while whisking for 5 to 7 minutes until sauce thickens slightly. Remove from heat.
06 - Lightly warm tortillas in a dry skillet or microwave wrapped in a damp towel until pliable.
07 - Spread 0.5 cup red sauce evenly on the bottom of a 9x13-inch baking dish. Place 2 to 3 tablespoons of beef filling and a sprinkle of both cheeses in the center of each tortilla. Roll up tightly and arrange seam-side down in the baking dish.
08 - Pour remaining red sauce over the rolled tortillas evenly. Sprinkle remaining cheese on top. Bake uncovered for 20 to 25 minutes until cheese melts and sauce bubbles.
09 - Sprinkle chopped cilantro over enchiladas and serve with sour cream if desired.