01 - Brown ground beef in a large skillet over medium heat, breaking up meat while cooking. Drain excess fat. Add onion and sauté until softened, approximately 3 minutes. Incorporate garlic, cumin, chili powder, smoked paprika, salt, and pepper; cook for 1 minute. Blend in tomato paste and beef broth. Simmer until mixture thickens and liquid mostly evaporates, about 5 minutes. Remove from heat and set aside.
02 - Heat vegetable oil in a saucepan over medium heat. Whisk in flour and cook for 1 minute to form roux. Add chili powder, cumin, oregano, garlic powder, onion powder, and cayenne; cook 30 seconds. Gradually whisk in broth. Stir in tomato paste, salt, and sugar. Simmer for 7-10 minutes, whisking frequently, until sauce thickens. Adjust seasoning to taste.
03 - Preheat oven to 375°F. Lightly grease a 9x13-inch baking dish with cooking spray or oil.
04 - Wrap tortillas in damp paper towels and microwave for 40 seconds, or briefly heat each tortilla in a dry skillet. This prevents cracking during rolling.
05 - Spread 1/2 cup enchilada sauce over bottom of prepared baking dish. Fill each tortilla with 2-3 tablespoons beef mixture and small amount of cheese. Roll tightly and place seam-side down in dish. Arrange enchiladas in single layer. Pour remaining sauce evenly over tortillas. Sprinkle remaining cheese on top.
06 - Bake for 20-25 minutes until cheese is melted and bubbly with golden spots. Remove from oven and let rest 5 minutes before serving.
07 - Top with chopped fresh cilantro and diced red onion. Serve immediately while hot.