Heat olive oil in a large pot over medium heat. Add chopped onion and cook until translucent, about 5 minutes.
Add minced garlic and ginger, cook for another 2 minutes.
Stir in curry powder, ground cumin, ground turmeric, and ground coriander. Cook for 1 minute until fragrant.
Add rinsed lentils, diced tomatoes, vegetable broth, and coconut milk. Bring to a boil, then reduce heat and simmer for 25-30 minutes, until lentils are tender.
Stir in chopped spinach and cook for another 5 minutes until wilted. Add salt to taste.
Remove from heat and stir in lemon juice. Serve hot.