Preheat the oven to 400°F and line a large baking sheet or a couple of small baking sheets with parchment paper.
Cut the squash into about eight wedges, then use a spoon to scrape out the seeds and inner pulp. Rub the squash wedges lightly with a tablespoon of olive oil.
Roast the squash for about 40 minutes, until the pieces are fork tender and lightly browned in spots. Let them cool for a few minutes.
Once the squash is cool enough to handle, remove the peel and roughly chop up the rest of it.
Coat the bottom of a large pot with the remaining tablespoon of oil and place it over medium heat. Give the oil a minute to heat up, then add the onion and apple. Cook the mixture for about 5 minutes, stirring frequently, until softened.
Stir in the garlic, ginger, and curry powder. Cook the mixture for about 1 minute, stirring constantly, until it becomes very fragrant.
Stir in the broth, then add the roasted squash to the pot. Raise the heat and bring the liquid to a boil, then lower the heat and let it simmer for about 15 minutes.
Remove the pot from heat. Blend the soup until it's completely smooth. You can use an immersion blender if you have one, or working in batches, carefully transfer the soup to a regular blender, blend the soup, then return it to the pot. Always use caution when blending hot liquids.
Stir in the coconut milk. Heat the soup back up if it has cooled down too much.
Season the soup with salt and pepper to taste. Ladle into bowls and serve.