Finely chop the onion and garlic. Trim, then cut the carrots into chunks. Roughly chop the cabbage.
In a large pot, heat the oil, then sauté the onion for 5 minutes. Add the garlic, cumin seeds and chilli (if used) and stir for a minute, then add the chopped vegetables.
Pour in the stock and bring to the boil.
Cover with a lid, turn down the heat and gently simmer for 25 minutes.
Turn off the heat then add most of the coriander leaves.
Using a stick blender, blitz until you get a textured soup.
Drain the beans and add them to the soup. Reheat the soup, then add the vinegar and plenty of black pepper. Add more stock if you find the soup too thick.
Serve warm, with the remaining coriander leaves scattered on top.