Peel and finely chop the onions. Halve the peppers, scoop out the seeds and chop to match the onions.
Warm a large pan over a medium heat. Add the chopped veg, 2 tbsp oil and a pinch of salt and pepper. Gently cook for 10 mins, stirring every so often, till the veg have softened and picked up a little colour.
While the veg fry, peel and crush or grate the garlic. Finely chop the chilli (flick out the seeds and pith for less heat). Finely chop the coriander stalks, keeping the leaves set aside for later. Finely grate the zest from the limes. Stir in the garlic, chilli, coriander stalks and zest into the pan. Sizzle for 2 mins till aromatic.
Drain the beans and rinse them. Add them to the pan with 2 tsp each dried oregano, ground cumin and smoked paprika. Add ½-1 tsp cayenne (depending on how spicy you like your meals). Crumble in the stock cube and tip in the tins of chopped tomatoes.
Pour in 200ml boiling water and give everything in the pan a good stir to mix. Pop on the lid, turn up the heat and bring the chilli to the boil. When it’s boiling, turn the heat down a little and simmer for 25 mins till the chilli has thickened a bit. Stir every so often.
Squeeze the juice from 1 of the zested limes into the chilli. Taste it and add more lime juice, salt or pepper if you think it needs it. Ladle the chilli into warm bowls and garnish with the coriander leaves to serve.