Preheat oven to 400°F.
Place squash on a sheet pan. Place in preheated oven and roast for 20 minutes.
Place 1 tablespoon of butter into a large stock pot. Place pot over medium heat and melt butter.
When butter is hot, add garlic, onions, carrots, squash and apples. Sauté until the onions are translucent.
Add water and vegetable stock. Bring to a boil. Reduce heat and continue to simmer until the squash is soft.
Purée mixture until smooth using an immersion or counter top blender (place back in stock pot after blending).
Add the heavy cream. Return to a boil. Reduce heat and allow to simmer.
Add all remaining butter to small sauce pan. Place over medium heat and melt the butter.
Slowly add flour, whisking continuously, until it begins to turn brown.
Add flour mixture (a "roux") to the soup. Return to a boil. Reduce heat to simmer.
Add the salt, pepper, cinnamon, nutmeg and brown sugar.
Taste. Add more salt and pepper or other spices, to taste, if needed.
Serve hot in individual bowls, garnished with walnuts.