Heat the olive oil in a large pot over medium heat. Add the onion, garlic, and ginger, and sauté until the onion is translucent.
Add the curry powder and cook for another minute.
Add the lentils, carrot, apple, and vegetable broth. Bring to a boil, then reduce heat and simmer for 20 minutes, or until the lentils and vegetables are tender.
Stir in the coconut milk and season with salt and pepper. Use a blender to puree the soup until smooth.
Serve hot, garnished with fresh cilantro if desired.