Preheat the oven to 350°. Cut squash in half and place flesh side down on a shallow baking dish. Roast the squash for about 45-60 minutes, or until tender. Let cool slightly, scoop out pulp, and discard seeds.
Meanwhile, in a large soup pot, melt the olive oil. Add the onion, ginger and curry powder and cook over moderate heat until lightly browned (about 5 -8 minutes).
Add the cooked squash, chopped apple, and broth or water. Cover and simmer over low heat for 15 minutes.
Puree small batches of the squash mixture in a blender or food processor (careful as it’s hot) until smooth.
Return the squash mixture to the pot and add the coconut milk. Simmer gently over low heat for 5-10 minutes, until heated through. Season with salt.
Ladle the soup into bowls. Garnish with cilantro leaves, pumpkin seeds, or other garnishes of your choice.