On a cookie sheet place the squash cubes, onions, and garlic. Drizzle with olive oil and season with salt and pepper. Roast at 300 F for 1 hour. Remove and set aside. In a large pot, melt the butter and add the celery to soften. Add the squash, garlic, and onions to the pot, and then add the chicken stock. Add spices and adjust to taste. Bring to a boil and let simmer for 20 minutes. Remove from heat and let cool slightly for 10 minutes. Puree in a blender and serve with a tbsp of heavy cream or sour cream on top. Gently reheat on low if necessary.