Heat the olive oil in a large pot over medium heat. Add the diced onion and sauté for about 5 minutes until softened and translucent.
Add the minced garlic and grated ginger to the pot, stirring for an additional 1-2 minutes until fragrant.
Stir in the curry powder, cumin, and turmeric, cooking for another minute to toast the spices.
Add the rinsed red lentils, diced tomatoes (with their juice), and vegetable broth, stirring to combine.
Bring the mixture to a boil, then reduce the heat to a simmer. Cover and cook for about 20-25 minutes, or until the lentils are tender.
Once the lentils are cooked, stir in the coconut milk. Simmer for another 5 minutes, allowing the soup to thicken.
Season with salt to taste and remove from heat. If desired, stir in lime juice for added brightness.
Serve hot, garnished with fresh cilantro if using.