Start by heating the olive oil in a large pot over medium heat. Toss in the onions, garlic, carrots, and celery, and cook them while stirring for about 4-5 minutes until they're soft and fragrant.
Add the tomatoes with their juices, lentils, vegetable broth, cumin, coriander, and smoked paprika. Stir everything together to mix the flavors.
Bring the mixture to a boil, then reduce the heat to a simmer. Let it cook for about 30 minutes, or until the lentils are tender and the soup has thickened to your liking.
Finish by stirring in the spinach and lemon juice. It will take just a minute for the spinach to wilt. Give it a taste and add salt as needed.