Heat oil in a pot over medium heat. Sauté onion for 5 minutes until soft.
Add garlic, ginger, turmeric, cumin, coriander, and chili powder. Cook for 1-2 minutes.
Stir in lentils and broth. Bring to a boil, then simmer for 15-20 minutes until lentils are tender.
Add coconut milk and simmer for 5 more minutes. Blend half the soup if desired.
Fold in spinach and cook until wilted. Season with salt, pepper, and lime juice.
Garnish with cilantro and serve warm.