Preheat oven to 400 F. Line a baking sheet with parchment paper.
In a large bowl, toss together carrots, garlic, 3 tbsp canola oil, salt, and pepper. Dump onto the prepared baking sheet and arrange in a single later. Roast for 30 minutes, until carrots are slightly caramelized and tender, stirring occasionally. Remove from oven.
In a large pot or dutch oven, heat 2 tbsp of canola oil over medium-high heat. Add the onion and saute for 5 minutes, until translucent. Stir in carrots and garlic. Add lentils and stir to coat. Add stock, cover and bring to a boil. Reduce heat to medium-low and simmer for 15 minutes, stirring occasionally, until lentils are soft. Remove pot from the heat. Use an immersion blender to puree the soup (or puree in batches in a blender or food processor), then stir in the dream. If the soup seems too thick, thin it out with more stock or water. Season to taste with salt and pepper.