Photograph: Dan Jones
In a large pan (or casserole) gently cook the onion and garlic in the oil over a low heat for 8-10 minutes or until the onion has softened. Scoop on to a plate and turn up the heat.
Brown the meat in 2 or 3 batches, then return it all to the pan with the onions and garlic, the spices and the tomato purée. Stir together.
Next add the chillies, tomatoes, red peppers and a generous pinch of salt. Fill one of the empty tomato tins with water and add that, too.
Bring the chilli to the boil, then reduce the heat to low and leave it to simmer, covered, for an hour. Give it a stir every now and then.
Stir in the beans, bring the chilli back to the boil and simmer again, this time uncovered, for 30 minutes. Check the seasoning. Stir in the chocolate and, once melted, stir in the coriander leaves. Serve in bowls with rice or jacket potatoes, with soured cream, extra chilli and lime wedges to squeeze over.