Heat a large pan until hot then add the olive oil and beef mince. Fry until browned, then remove from the pan and set aside.
Add the onions, garlic, celery and chillies and sweat for 5-6 minutes until golden.
Add all the spices and fry for one minute.
Return the beef to the pan and stir to combine.
Add the tomato purée, tinned tomatoes and stock and bring to the boil.
Reduce the heat and simmer for 1-1½ hours until very tender.
Add the chocolate and kidney beans and simmer for a further five minutes until hot through.
Check the seasoning before adding the coriander leaves and serving.