Heat oil over medium heat in a large stock pot.
Add onion and ginger and cook for 2-3 minutes.
Add garlic and spices and cook 2-3 minutes until garlic becomes fragrant.
Add lentils, carrots and water to stock pot and bring to a boil. Reduce heat and simmer for 30 minutes until lentils and carrots become tender.
Stir in coconut milk and lime juice. Bring to a quick boil.
Let the soup cool, and then puree either half the soup and then add it back to the pot, or all of it, depending on your preferred consistency.
Add sea salt and pepper to taste.
Garnish with chopped basil, greek yogurt, whipped coconut cream and/or red pepper flakes.