1. Preheat oven to 425°F. Cut butternut squash, onions and apples in 1-inch cubes. Place on sheet pan and toss with olive oil, a generous teaspoon of salt and 1/2 teaspoon pepper. Spread squash mixture in a single layer in 1 or 2 sheet pans, whatever fits. Roast for 35 to 45 minutes, until vegetables are very tender and slightly browned.
2. Transfer squash mixture to large stockpot, add 2 cups of vegetable stock, and turn heat to medium until stock is simmering. Remove pot from heat and transfer contents into food processor or blender, in batches as needed. Puree soup until smooth, transfer back to stockpot and put on low heat.
3. Stir in milk or cream, ginger, nutmeg, and more salt and pepper to taste. Add more stock or milk if soup is too thick. Simmer on low for 5 to 10 minutes, ladle into bowls, top with a dollop of cream and sprinkle with a pinch of nutmeg.