Preheat oven to 350F/176C. Wash outside of squash, pierce with knife in 3-4 places, place on baking sheet and roast whole for about 1-1.5 hours, or until knife easily slides in.
Remove squash from oven and allow to cool. After squash has cooled enough to handle, cut down middle, carefully scoop out seeds, then scoop out all the pulp. **At this point, the squash pulp can be tightly covered in a container and placed in the refrigerator for a few hours or days, until you are ready to use it.
Put olive oil in large heavy bottomed pot over medium-high heat. Saute onion and carrots until slightly brown.
Add sweet potato cubes and chicken broth. Bring to a boil, reduce heat to medium-low, and simmer uncovered for about 10 minutes.
Stir in cooked butternut squash pulp, bring to a boil again, reduce heat to medium-low and simmer uncovered for another 15 minutes, or until all the vegetables are tender.
Remove from heat and use an immersion blender to puree the soup until smooth. Season with salt and pepper to taste.
Serve garnished with cooked crumbled bacon, shredded cheese, sliced green onions, and sour cream or plain yogurt.
The squash can be cooked ahead of time and the pulp can be stored tightly covered in a container and placed in the refrigerator for a few hours or days, until ready to make the soup.