Preheat the oven to 350 degrees.
Cut each acorn squash in half. Scoop out the seeds and set aside.
Place each acorn squash on a baking sheet, opened side up.
Place the cubed sweet potatoes and apples in a large bowl. Drizzle with the olive oil, nutmeg, and cinnamon. Cover and toss to coat.
Dump the potatoes and apples onto the baking sheet around the squash.
Place the onions on the baking sheet.
Bake everything for approx. 30 minutes or until the squash is tender.
When the squash is tender (test with a fork), remove the baking sheet from the oven and let cool.
Carefully scoop out the edible part of the squash and place in a medium sized stock pot.
Carefully transfer the sweet potatoes, apples and onions to the stock pot as well.
With the stock pot over moderate heat, add the butter and season with sea salt and pepper to taste.
Once the butter is melted, add the chicken (or vegetable) stock. Bring to a simmer.
Once the soup reaches a simmer, cover and let cook for approx. 5 minutes.
Carefully transfer the contents of the stock pot to a blender or food processor (in batches if needed), and puree until you get the consistency you desire.
Top with optional garnishes. (See notes for squash seed preparation)