Heat the olive oil in a large saucepan over medium heat.
Add the chopped onion, carrots, and celery, and sauté for about 5-7 minutes until they soften and become fragrant.
Incorporate the crushed garlic, cumin, and smoked paprika, stirring for an additional minute.
Pour in the rinsed lentils along with the vegetable stock, bringing the mixture to a vigorous boil.
Once boiling, lower the heat and let it simmer gently for 25-30 minutes until the lentils are tender.
Blend the soup using an immersion blender until it reaches a silky smooth consistency.
Mix in the coconut milk (or heavy cream) and adjust the seasoning with salt and pepper.
Allow the soup to warm for another 5 minutes before serving.
Ladle into bowls and garnish with fresh parsley or cilantro if desired.