Heat olive oil in a large pot over medium heat.
Add onion, carrots, and celery. Cook for 5–7 minutes until soft.
Add garlic and stir for 30 seconds until fragrant.
Add green lentils, cumin, and smoked paprika. Stir well.
Pour in crushed tomatoes and vegetable broth.
Add bay leaf and bring to a boil.
Reduce heat and simmer uncovered for 25–30 minutes, until lentils are tender.
Stir in spinach and cook for 2–3 minutes until wilted.
Season with salt and black pepper.
Remove bay leaf. Add lemon juice or chili flakes if using.
Let rest for 5 minutes before serving.