Position a rack in the upper third of the oven; preheat to 450 degrees F. Heat 1 tablespoon olive oil in a medium ovenproof skillet over medium-high heat. Add the onion and cook, stirring, until softened, about 3 minutes. Add the ground beef, chili powder and a pinch each of salt and pepper. Continue to cook, breaking up the beef with a wooden spoon, until browned, about 5 minutes. Remove from the heat and stir in the beans.
Whisk the eggs, sour cream and 1/2 cup water in a medium bowl. Add the cornmeal, flour, baking powder, the remaining 1 tablespoon olive oil, 1/4 teaspoon salt and a few grinds of pepper; stir until smooth. Stir in 1/2 cup cheddar.
Pour the cornmeal mixture over the beef in the skillet; spread evenly. Transfer to the oven and bake until the topping is golden brown and firm, 20 to 22 minutes. Remove from the oven and top with the remaining 1/2 cup cheddar. Switch the oven to broil; broil until the cheese is browned and bubbling, 1 to 3 minutes. Serve with sour cream.