In a large pot, heat olive oil over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and ginger, cooking for an additional 1-2 minutes until fragrant.
Add the diced carrot and sauté for another 3-4 minutes.
Sprinkle in the curry powder, ground cumin, and turmeric, stirring well to coat the vegetables and release their flavors for about 1 minute.
Pour in the rinsed red lentils, diced tomatoes, and coconut milk. Stir everything together until well combined.
Add the vegetable broth and bring the mixture to a boil. Once boiling, reduce the heat to low and allow it to simmer uncovered for 20-25 minutes, or until the lentils are tender. Stir occasionally.
Once the lentils are cooked, fold in the chopped spinach and cook for an additional 5 minutes until wilted.
Season with salt and pepper to taste. Remove from heat.