Heat the olive oil in a large pot over medium heat. Add the diced onion and cook until it softens, about 5 minutes.
Stir in the minced garlic and cook for 1 minute until fragrant.
Add the black beans, diced tomatoes, vegetable broth, chili powder, smoked paprika, cumin, salt, and black pepper. Stir well and bring to a simmer.
Reduce the heat to low, cover, and let the chili cook for 20 minutes, stirring occasionally.
While the chili simmers, preheat the oven to 400°F and grease a 9-inch baking dish or cast-iron skillet.
In a mixing bowl, combine the cornmeal, flour, baking powder, sugar, and salt.
In a separate bowl, whisk together the milk, egg, and melted butter. Pour the wet mixture into the dry ingredients and stir until just combined.
Spread the batter evenly in the prepared dish and bake for 18 to 20 minutes until the top is golden and a toothpick comes out clean.
Let the cornbread cool for a few minutes, then cut it into wedges and serve alongside the chili.