Heat oil in a large Dutch oven or stock pot on medium heat
Add onion, celery, garlic, cardamom, salt, pepper, and cloves. Cook until vegetables are tender, but not browned.
Add vegetable broth, coconut milk, (reserving some of the cream for topping, if desired) and bay leaf. Bring to a boil.
Add potatoes and cabbage. Stir, cover and reduce to low heat. Simmer until cabbage is tender, about 20 minutes.
Remove from heat, remove bay leaf, and puree the soup in the pot using an immersion blender, or allow it to cool somewhat and puree in batches in a blender or food processor.
Stir in lime juice and serve hot, garnished with reserved coconut milk cream and chili flakes.
Notes
Remove the tough outer leaves and the root from the cabbage before slicing.
The easiest way to slice cabbage is to first cut it in half through the stem, then cut out the core from each half. With cut sides down, cut each half in half so you have for pieces. Continuing with cut side down, slice each quarter. To see it in action, check out How to Shred Cabbage
Reserve some of the coconut cream on the top of the pan for garnishing the bowls of soup.
Reduce the amount of sodium in the recipe by using low or no sodium vegetable broth.
An immersion blender is ideal for pureeing soups and sauces right in the pot and is handy for many other tasks. If you don't have one, you can puree the soup in a blender of food processor in batches. Cool the soup for 10 minutes or so first, and be sure to have the blender's steam vent open to prevent an eruption. You may have to reheat.