01 - Preheat the oven to 375°F. Lightly grease a 9x13-inch baking dish with cooking spray or a thin layer of oil.
02 - Heat a large skillet over medium heat. Add the ground beef and cook for approximately 5 minutes, breaking it apart with a spatula as it browns. Drain any excess fat if needed.
03 - Add the diced onion to the skillet and cook for 3 minutes until softened and translucent. Stir in the minced garlic and cook for 1 minute until fragrant.
04 - Sprinkle in the cumin, chili powder, smoked paprika, oregano, salt, and pepper. Stir constantly to coat the meat mixture evenly and cook for 1 minute to bloom the spices.
05 - Pour in 1 cup of enchilada sauce and the water. Reduce heat to low and simmer for 3 minutes, stirring occasionally, until slightly thickened. Remove from heat.
06 - Spread ¼ cup of the remaining enchilada sauce evenly across the bottom of the prepared baking dish.
07 - Arrange 4 tortillas over the sauce, overlapping slightly to cover the bottom. Spread half of the beef mixture evenly over the tortillas, then sprinkle with 1 cup of cheddar cheese.
08 - Layer the remaining 4 tortillas on top, followed by the remaining beef mixture and another 1 cup of cheddar cheese. Pour the remaining enchilada sauce over the top, spreading to cover completely. Sprinkle with Monterey Jack cheese if using.
09 - Cover the baking dish tightly with aluminum foil. Bake for 20 minutes to heat through and meld flavors.
10 - Remove the foil and return to the oven for an additional 10 minutes, or until the cheese is bubbly and lightly golden.
11 - Let the casserole rest for 10 minutes before slicing to allow layers to set. Garnish with fresh cilantro, diced tomato, and green onions. Serve with sour cream on the side.