Heat the olive oil in a large pot over medium heat. Add the onion and cook until it softens, about 5 minutes.
Stir in the garlic and ginger. Cook for 1 minute until fragrant.
Add the curry powder and cumin. Stir for 30 seconds to toast the spices.
Add the lentils, sweet potatoes, and vegetable broth. Bring to a boil, then reduce heat and simmer for 15 minutes.
Add the cauliflower florets and continue simmering for 10 to 12 minutes until the lentils and sweet potatoes are tender.
Stir in the coconut milk and simmer for another 3 minutes. Season with salt and black pepper.
Ladle into bowls and top with chopped cilantro before serving.