Preheat oven to 350F.
Melt butter in a large saucepan over medium heat. Add onion; cook, stirring occasionally, until it begins to soften, about 4 minutes. Add squash and cook, stirring occasionally, until soft, about 10 minutes.
Add apples, salt, cumin, coriander, ginger, black pepper, stock, and the water (just enough to cover). Bring to a boil. Reduce to a simmer and cook until vegetables are very soft, about 30 minutes.
Meanwhile, on a parchment lined baking sheet spread out pumpkin seeds and mix olive oil, garlic powder and cayenne pepper evenly to coat seeds. Roast in oven until golden, tossing halfway through, about 15 minutes.
Puree in batches in a food processor or blender until smooth, and return to saucepan. Heat over low, thinning with more water if necessary.
To serve, ladle into shallow bowls; garnish with diced apples, pumpkin seeds and sour cream.