Heat the olive oil in a large pot over medium heat. Add the diced onion and cook for 5 minutes until it softens.
Stir in the minced garlic and grated ginger. Cook for 1 minute until fragrant.
Add the garam masala, cumin, and turmeric. Stir for 30 seconds to toast the spices.
Pour in the diced tomatoes with their juices and the vegetable broth. Add the rinsed red lentils and salt. Bring the mixture to a boil.
Reduce heat to low, cover the pot, and simmer for 20 minutes. Stir occasionally until the lentils are soft and the stew thickens.
Stir in the chopped spinach and cook for 3 more minutes until it wilts.
Remove the pot from heat. Stir in the lemon juice. Serve the stew in bowls topped with chopped cilantro.