1. Heat the olive oil in a large pot over medium heat. Add the chopped onion and cook until translucent, about 5 minutes.
2. Add the minced garlic and ginger, and cook for another 2 minutes until fragrant.
3. Stir in the curry powder, ground cumin, and ground coriander, and cook for 1 minute.
4. Add the rinsed lentils, diced tomatoes, vegetable broth, and coconut milk. Bring to a boil, then reduce the heat and simmer for 25-30 minutes, or until the lentils are tender.
5. Season with salt and black pepper to taste. Stir in the chopped spinach and cook for another 2 minutes until wilted.