Heat the olive oil in a large pot over medium heat. Add the diced onion and cook for 4 minutes until it softens.
Stir in the minced garlic, cumin, turmeric, and garam masala. Cook for 1 minute until the spices smell fragrant.
Add the rinsed lentils, low-sodium vegetable broth, and diced tomatoes. Bring the mixture to a boil.
Reduce the heat to low, cover the pot, and simmer for 25 minutes until the lentils are tender.
Stir in the fresh spinach and cook for 2 minutes until it wilts.
Remove the pot from the heat. Stir in the lemon juice.
Ladle the soup into bowls and top each serving with chopped cilantro.