Peel the onions, cut them in half and slice thinly.
Warm the groundnut oil in a deep, capacious pot over a moderate heat, then stir in the onions and let them soften, with the occasional stir, for 10-15 minutes.
Peel and thinly slice the garlic and add to the onions.
Crack open the cardamom pods and extract the seeds. Crush them coarsely using a pestle and mortar or heavy rolling pin, then stir into the softening onions and garlic.
Crush the coriander seeds, then the mustard, and add them to the onions with the whole cumin seeds, ground turmeric, a generous seasoning of salt and black pepper.
Cook, stirring regularly, for at least five minutes, so that the spices toast in the heat.
Meanwhile, seed and finely chop the chillies and add to the pan, along with the chopped tomatoes, the pinch of sugar, and 400ml of water.
Open and drain the beans, then add them to the pot, leaving them to simmer over a moderate heat for 35-40 minutes.
Bring a shallow pan of water to the boil for the greens.
Mix the coconut milk into the sauce, simmer for a further five minutes, then chop and stir in the coriander.
Finely shred the greens, dip them briefly into the boiling water, then drain and stir them into the soup.
Ladle into deep bowls and squeeze over a little lime juice to finish.
