Heat olive oil in a large, heavy-bottomed pot over medium heat. Add onions and sauté until translucent, about 5 minutes, until they begin to turn golden at the edges.
Add minced garlic and sauté for another minute until fragrant. Immediately add cumin, coriander, turmeric, and cayenne pepper. Toast the spices for 30 seconds, stirring constantly to prevent burning.
Add the rinsed lentils and diced carrots to the pot, stirring to coat them with the spiced oil mixture.
Pour in vegetable broth and add bay leaves. Bring to a boil, then reduce heat to maintain a gentle simmer. Cover partially with a lid and cook for 25-30 minutes, or until lentils are tender and carrots are soft.
Remove bay leaves. For a creamier consistency, blend half the soup using an immersion blender or standard blender, then return to the pot.
Stir in fresh lemon juice. Season with salt and pepper to taste. Garnish with fresh herbs before serving.