Heat olive oil in a large pot over medium heat.
Add onion, carrots, and celery. Sauté 5–7 minutes until softened.
Add garlic, cumin, oregano, paprika, and red pepper flakes. Cook 30 seconds until fragrant.
Stir in lentils, diced tomatoes, vegetable broth, and water.
Bring to a boil, then reduce heat and simmer uncovered for 30–35 minutes until lentils are tender.
Stir in lemon juice and spinach (if using) and cook 2–3 more minutes.
Adjust seasoning and garnish with fresh parsley before serving.