Heat two tablespoons of the oil over a medium to high heat in a large, heavy-based pan with a tight fitting lid.
Fry the diced beef steak in batches until browned all over, setting each batch aside on a plate using a slotted spoon.
Add another tablespoon of oil to the pan and add the beef mince, frying until browned all over. Remove the mince from the pan using a slotted spoon and set aside with the beef steak.
Add the remaining tablespoon of oil to the pan and fry the white onion, red onion and celery for 3-4 minutes, or until the onions have softened but not browned.
Stir in the chipotle chilli, chilli flakes, chilli powder and oregano until well combined. Cook for a further two minutes.
Return the diced and minced beef to the pan, then stir in the sugar, chopped tomatoes, beef stock, kidney beans and black-eyed peas. Bring the mixture to the boil, then reduce the heat until the mixture is simmering. Cover and continue to simmer over a low heat for 2-3 hours. (Alternatively, preheat the oven to 140C/280F/Gas 1 to cook in an ovenproof dish for the same amount of time.)
Just before serving, season the chilli with crushed sea salt flakes and freshly ground pepper. Stir in the chocolate until melted, then stir in the chopped coriander.
Serve the chilli with a bowl of steamed rice and top each serving with a dollop of soured cream. Garnish with the sliced spring onions.