Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery. Cook until softened, about 5 minutes.
Stir in garlic, cumin, coriander, turmeric, and red pepper flakes. Cook for 1 minute until fragrant.
Add rinsed lentils, vegetable broth, water, and bay leaf. Stir and bring to a boil.
Reduce heat to low, cover, and simmer for 20 to 25 minutes until lentils are tender.
Remove bay leaf. Use an immersion blender to puree the soup to your desired consistency, or leave it chunky if you like.
Stir in lemon juice, season with salt and pepper, and garnish with parsley before serving.