Preheat your oven to 170°C.
Heat oil in a casserole dish over high heat and brown the beef in batches.
Set the browned beef aside in a separate dish.
Reduce heat to medium-low and cook the onion and garlic for 5–8 minutes until soft.
Stir in the chilli, oregano, cocoa, and tomato purée, then return the beef to the pan.
Add tomatoes and stock, bring to a simmer, and oven-cook covered for one hour.
Stir in kidney beans and peppers and cook for another hour until meat is tender.
Spoon the beef mixture into individual dishes, leaving 2cm of space at the top.
Increase the oven temperature to 180°C.
Mix flour, cornmeal, and salt in a bowl.
Whisk melted butter, eggs, buttermilk, green chilli, and baking powder in a jug.
Fold the wet ingredients into the dry ingredients until just combined.
Spread the batter over the beef and sprinkle with grated cheese.
Bake for 30 minutes until golden-brown and serve immediately.