01 - Preheat oven to 375°F. Lightly grease a 9x13-inch baking dish with cooking spray or a small amount of oil.
02 - In a medium saucepan over medium heat, warm 2 tablespoons vegetable oil. Whisk in flour and cook for 1 minute, stirring constantly. Add chili powder, cumin, garlic powder, oregano, and cayenne; stir for 30 seconds until fragrant. Gradually whisk in broth and tomato paste, smoothing out any lumps. Simmer, stirring often, until slightly thickened for 5-7 minutes. Season with salt and pepper to taste. Remove from heat.
03 - In a large skillet, heat 1 tablespoon oil over medium heat. Add chopped onion and cook until softened and translucent, 3-4 minutes. Add minced garlic and cook for 30 seconds until fragrant.
04 - Add ground beef to the skillet, breaking it apart with a wooden spoon or spatula. Cook until browned and cooked through, about 6-8 minutes. Drain excess fat if needed.
05 - Stir in cumin, chili powder, smoked paprika, salt, and black pepper. Remove from heat. Add 1 cup shredded cheddar cheese and 1 cup shredded Monterey Jack cheese, stirring until just melted and combined.
06 - Spread ½ cup enchilada sauce evenly in the bottom of the prepared baking dish. Warm tortillas briefly in a dry skillet or microwave to make them pliable. Place about ⅓ cup beef filling in the center of each tortilla. Roll up tightly and arrange seam-side down in the dish.
07 - Pour remaining enchilada sauce evenly over the enchiladas, covering them completely. Sprinkle with 1 cup shredded cheese.
08 - Bake for 20-25 minutes until cheese is melted and bubbly, and sauce is heated through.
09 - Remove from oven and let rest for 5 minutes. Garnish with chopped fresh cilantro and sliced green onions if desired. Serve hot with sour cream, guacamole, or lime wedges.