Heat the olive oil in a large pot over medium heat. Add the diced onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and ginger, cooking for another 1-2 minutes until fragrant.
Add the diced carrots and celery, cooking for an additional 5 minutes until they begin to soften.
Stir in the rinsed lentils, cumin, coriander, and curry powder. Mix well to coat the vegetables.
Pour in the diced tomatoes with their juices and vegetable broth. Bring the mixture to a boil.
Reduce the heat to low, cover, and let it simmer for about 25-30 minutes, until the lentils are tender.
In the last 5 minutes of cooking, add the chopped spinach and stir until wilted.
Season with salt and pepper to taste, and stir in the lemon juice if using for added brightness.
Serve hot in bowls and garnish with fresh cilantro if desired.