Heat a large pot over medium heat.
Meanwhile, peel and small dice onion. Trim off and discard the root ends of the garlic and press or mince.
Once the pot is hot, add coconut oil and swirl to coat the bottom. Add the onion and garlic to the pot.
Wash and peel the carrots, then trim off the ends. Using a box grater, coarsely grate and add to pot.
Wash the cilantro and shave the cilantro leaves off the stems. Chop the stems into small pieces and add to the pot. Mince the leaves and set half aside for garnish, add the rest to the pot.
Season mixture with salt and pepper. Cook until all vegetables have softened, 3-4 minutes.
Reduce heat to low. Wash, peel and mince or grate the ginger. Add to the pot.
Add pumpkin, honey and cayenne pepper, stirring to combine.
Shake can of coconut milk vigorously before opening. Add to the soup, reserving a few tablespoons for garnish.
Add broth and bring to a boil. Reduce heat and simmer stirring occasionally, 8-10 minutes.
Meanwhile, melt butter and oil over medium heat in a small saucepan.
Peel and thinly slice the shallots into rings. Add to pan breaking up as you go.
Turn heat up to medium-high. Cook until shallots are starting to darken around the edges, about 2 minutes. Reduce heat to low and continue to cook until golden brown and crispy, 2-3 minutes more. Watch carefully as they can burn easily.
Transfer shallots to a paper towel-lined plate and discard oil. Season with salt.
Using an immersion (hand) blender, purée the soup until smooth.
Wash and cut the lime into wedges.
To serve, ladle soup into bowls. Top with a swirl of coconut milk, crispy shallots, cilantro leaves and a squeeze of lime. Enjoy!
