Add onions and cook over high heat for three minutes.
Add garlic and continue to cook until most of the water has cooked off.
Add 3 cups water, lentils, carrots, bay leaf, curry, ginger, cilantro, red pepper flakes and cloves, stirring to combine. Cover and bring to a boil. Once boiling, reduce heat to low and simmer for 20 minutes, or until lentils are cooked and most of the water has absorbed. Stir in 1 tsp garam masala and turn off heat.
Let rest 5-10 minutes, allowing the flavors to merge.
Transfer soup to a blender, add non-dairy milk and puree until smooth and creamy.
Add salt and pepper to taste and additional garam masala if desired.
Garnish with fresh cilantro leaves and serve.Nutritional Information