Heat the olive oil in a large pot or Dutch oven over medium heat. Add the chopped onion, carrots, and celery. Sauté for 5-7 minutes until the vegetables are tender.
Stir in the minced garlic, ground cumin, and smoked paprika. Cook for 1 minute until the spices are highly fragrant.
Add the rinsed lentils, undrained diced tomatoes, and vegetable broth. Season with salt and black pepper. Stir well to combine and bring to a boil.
Once boiling, reduce the heat to low. Cover the pot and let it simmer gently for 30-35 minutes, or until the lentils are completely tender but not mushy.
If using spinach, stir it into the hot soup and let it wilt for 1-2 minutes.
Remove the pot from the heat. Stir in the freshly squeezed lemon juice (do not skip this step!).
Taste and adjust the seasoning. Serve hot with a slice of warm, crusty bread.