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.