Trim the leaves off 1 large or 2 medium leeks. Cut the leeks in half lengthwise and rinse under water to remove silt.
Shred the leeks in the food processor.
Melt 2 T. olive oil and 1 T. butter in a pot. Add the leeks and cook on low heat until very soft, about ten minutes.
Peel 1 large or 2 medium sweet potatoes then chop roughly in the food processor. Add to the pot along with 2 t. turmeric powder, 1 t. each cumin powder and coriander powder, and 1/4 t. cardamom powder. Add cayenne pepper to taste. Saute until the sweet potatoes are nicely coated with spices.
Add 6 C. vegetable stock, bring to a boil, then simmer for 30 minutes.
Puree the soup in batches. Mix in 1 C. heavy cream or coconut milk.
Heat through and season with salt, pepper and lime or lemon juice.
Serve topped with finely shredded cabbage.