Heat the oven: Preheat to 425°F. Lightly grease a 2-quart baking dish and set aside.
Brown the beef: In a large skillet over medium-high heat, cook the ground beef and onion until the meat is no longer pink and the onions are translucent, about 7 to 10 minutes. Add the garlic and cook 30 seconds longer.
Drain the fat: Pour off the grease from the skillet.
Add the filling ingredients: Stir in the corn, tomato soup, water, chili powder, and salt.
Simmer until thick: Bring to a boil, then reduce the heat and simmer about 15 minutes, stirring regularly, until the mixture is thick and glossy.
Transfer to the dish: Spread the beef mixture in an even layer in the prepared baking dish.
Mix the topping: In a medium bowl, stir together the cornbread mix, egg, and milk until just combined.
Spread the batter: Spoon the batter over the beef mixture and spread it to the edges of the dish.
Bake at 425°F for 18 to 20 minutes, until golden brown and a toothpick inserted in the center of the crust comes out clean.
Rest before serving: Let stand 5 to 10 minutes so the filling settles.