01 - Preheat oven to 375°F.
02 - In a large skillet over medium heat, cook the ground beef, breaking it up with a spoon, until browned and cooked through, about 5–6 minutes. Drain excess fat if necessary.
03 - Add onion and garlic to the skillet; cook for 2–3 minutes until softened. Stir in cumin, chili powder, smoked paprika, salt, and pepper. Pour in beef broth; simmer for 2 minutes, then remove from heat.
04 - For the enchilada sauce, heat oil in a saucepan over medium heat. Whisk in flour and cook for 1 minute. Add chili powder, cumin, oregano, garlic powder, onion powder, and cayenne; cook 30 seconds until fragrant.
05 - Gradually whisk in broth and tomato sauce. Add salt and pepper. Bring to a simmer and cook for 5–7 minutes, whisking occasionally, until thickened.
06 - Lightly grease a 9x13-inch baking dish. Spread 1/2 cup enchilada sauce on the bottom.
07 - Warm tortillas to make them pliable. Place about 1/4 cup beef filling and a sprinkle of both cheeses in each tortilla. Roll up and arrange seam-side down in the baking dish.
08 - Pour the remaining enchilada sauce evenly over the enchiladas. Top with the rest of the cheddar and Monterey Jack cheese.
09 - Bake for 20–25 minutes, until cheese is bubbly and golden.
10 - Let cool for 5 minutes. Garnish with cilantro and serve with sour cream if desired.