Heat olive oil in a large pot over medium heat. Add the onion, carrots, and celery, and cook for 6-8 minutes until softened.
Add the garlic, cumin, smoked paprika, and oregano. Stir and cook for 1 minute until aromatic.
Add the rinsed lentils, vegetable broth, and diced tomatoes with their juices. Bring to a boil.
Reduce heat to low, cover, and simmer for 30-35 minutes until lentils are tender but not mushy.
Stir in the fresh spinach and cook for 2-3 minutes until wilted.
Remove from heat and stir in lemon juice. Season with salt and pepper to taste. Let sit for 5 minutes before serving to allow flavors to meld.