Preheat oven to 350 degrees
On a large baking sheet place chopped onion, carrot, butternut squash and ginger. Drizzle with olive oil and a sprinkle of salt/pepper.
Place in the oven and roast for 25-30 minutes, or until squash is tender and all vegetables are caramelized
Meanwhile, in a large dutch oven add rinsed lentils, curry powder, garlic cloves and stock. Cover and bring to a simmer. Allow lentils to cook for 20 minutes.
When the vegetables are done roasting remove from oven and working in batches (I would suggest doing half at a time) transfer to a high-speed blender, along with half of the cooked lentils/stock. Blend on high speed until you've reached a smooth consistency.
Transfer the pureed soup to a pot and then finish pureeing the remaining vegetables, lentils, and stock.
Once all soup is pureed and transferred to a pot, add a sprinkle of salt/pepper, 1/2 cup of coconut milk, the juice of two limes and a handful of cilantro. Stir, taste and adjust seasoning as necessary.