Preheat the oven to 350°F (175°C). Spray a 9x13-inch casserole dish with nonstick spray and set aside.
In a large skillet over medium-high heat, cook the ground beef and diced onion until the beef is browned and the onion is softened, breaking up the meat as it cooks.
Add the minced garlic to the skillet and sauté for 1–2 minutes until fragrant.
Stir in the taco seasoning and 1/2 cup water; cook a few minutes until combined and slightly thickened.
Mix in the fire-roasted diced tomatoes (with juices), green chiles, drained black beans, and drained corn; heat through, then remove from heat.
Line the bottom of the prepared dish with 6 small corn tortillas, overlapping slightly to cover the base.
Spread about one-third of the meat and bean mixture over the tortillas, then sprinkle with about one-third of the shredded cheese.
Repeat two more times: a layer of 6 tortillas, one-third of the meat mixture, and one-third of the cheese, to make three layers total.
Cover the dish with aluminum foil and bake for 30 minutes, until the casserole is bubbly and the cheese is melted.
Remove from oven and let rest for 10 minutes. Garnish with diced tomato and chopped cilantro, then serve warm with sour cream and sliced or mashed avocado on the side.