If you have a gas hob, put the aubergine directly onto a lit ring to char completely, turning occasionally with kitchen tongs, until burnt all over. Alternatively, use a barbecue or heat the grill to its highest setting and cook, turning occasionally, until completely blackened (the grill won’t give you the same smoky flavour). Set aside to cool on a plate, then peel off the charred skin and remove the stem. Roughly chop the flesh and set aside.
In a large pan, heat the oil, add the onion and carrots with a pinch of salt, and fry over a low-medium heat for 15-20 mins until the carrots have softened.
Add the aubergine, both types of lentils, the kidney beans with the liquid from the can, soy sauce, tomatoes, chocolate, chilli powder, oregano and the spices. Stir to combine, then pour in the stock. Bring to the boil, then turn down the heat to very low. Cover with a lid and cook for 1½ hrs, checking and stirring every 15-20 mins to prevent it from burning.
Remove the lid and let the mixture simmer over a low-medium heat, stirring occasionally, for about 15 mins until you get a thick sauce. Stir in the lime juice and taste for seasoning – add more salt if needed. Serve hot over rice with whichever accompaniments you want!