Heat the olive oil in a large pot over medium heat. Add the diced onion and sauté for about 5 minutes until softened.
Stir in the minced garlic, ground cumin, ground coriander, and cayenne pepper. Cook for another minute until fragrant.
Add the chopped carrots and stir to combine. Cook for about 5 minutes, allowing the carrots to soften slightly.
Stir in the rinsed lentils and pour in the vegetable broth. Bring to a boil, then reduce the heat to low and cover the pot. Simmer for 20-25 minutes, or until the lentils are tender.
Once cooked, use an immersion blender to puree the soup to your desired consistency, or carefully transfer the soup to a blender in batches. Blend until smooth, then return to the pot.
Season the soup with salt, pepper, and lemon juice. Taste and adjust seasoning as needed.
Serve hot, garnished with fresh cilantro or parsley if desired.