01 - Preheat the oven to 375°F. Lightly grease a 9x13-inch baking dish with cooking spray or oil.
02 - In a large skillet over medium-high heat, cook ground beef until browned, breaking up with a spoon, about 5 minutes. Drain excess fat if needed.
03 - Add finely chopped onion to the beef and cook 3 to 4 minutes until softened. Stir in minced garlic, cumin, chili powder, smoked paprika, salt, and black pepper; cook for 1 minute until fragrant.
04 - Stir 1/2 cup of enchilada sauce into the beef mixture until evenly combined, then remove from heat.
05 - Spread 1/2 cup enchilada sauce evenly over the bottom of the prepared baking dish.
06 - Layer 5 tortillas across the sauce, tearing as necessary to cover the bottom completely.
07 - Spread half of the beef mixture over the tortillas, then sprinkle with 1 cup cheddar and 1/2 cup Monterey Jack cheese.
08 - Add remaining tortillas, then spread the rest of the beef mixture followed by 1/2 cup enchilada sauce and the remaining cheese evenly on top.
09 - Pour the final 1/2 cup of enchilada sauce evenly over the top layer and sprinkle with any reserved cheese.
10 - Cover the dish with aluminum foil and bake for 20 minutes.
11 - Remove the foil and bake uncovered for an additional 10 to 15 minutes, until the cheese is bubbly and golden.
12 - Let the casserole rest for 5 to 10 minutes before slicing.
13 - Garnish with sour cream, chopped cilantro, diced avocado, and sliced green onions as desired. Serve warm.