Preheat an oven to 400°F.
Using a sharp knife, cut Squash in half length wise, remove seeds, and fibers, sprinkle with oil, salt, pepper place onto a baking sheet and roast until it feels somewhat soft to the touch, and a knife penetrates easily, about 45-1 hour. Remove from the oven and, when cool enough to handle, Scoop out the pulp into a bowl and set aside.
While the squash is cooling, reduce the oven temperature to 350°F.
Spread the hazelnuts on a baking sheet and toast until fragrant and the skins have loosened, about 10 minutes. Remove from the oven and, while still warm, place the nuts in a kitchen towel. Rub the towel vigorously to remove the skins; do not worry if small bits of skin remain. Chop and set aside. (or use a coffee blender).
In a dutch oven over med low heat, melt the butter. Add the onions and garlic cook, stirring occasionally, until the onions are tender and translucent, 8 to 10 minutes. Add the pulp, broth, sugar, cinnamon, nutmeg, salt and pepper. bring to a boil.Reduce the heat to low, and simmer for a few minutes to combine the flavors.
Using a hand held blender, blend soup mixture til smooth. If using a regular blender remove pot from heat. Fill the blender with a 1/4 of the soup, cover with a kitchen cloth, make sure to let some air in, so it doesn't explode.
Blend until completely smooth about 5-10 seconds, add to a clean pan. Continue to do this until you have used all the soup. Reheat gently over medium-low heat, add heavy cream, let simmer 5-10 mins to let flavors blend. . .Season to taste.
Ladle into warmed bowls and top the soup off with toasted chopped Hazelnuts. Serve.