Preheat the oven to 350 degrees F (175 degrees C). Scoop seeds out of the butternut squash half, and place cut side down onto a greased baking sheet.
Bake for 30 to 40 minutes, or until softened. Allow to cool, then scoop the squash flesh out of the skin using a large spoon and set aside. Discard skin.
Heat olive oil in a large saucepan or soup pot over medium heat.
Add chopped onion and garlic, and cook, stirring until onion is translucent.
Pour in the water, and add squash, carrots and ginger. Bring to a boil, and cook for at least 20 minutes, or until carrots and ginger are tender.
Puree the mixture in the blender, or using an immersion blender.
Add boiling water if necessary to thin, but bear in mind this is meant to be a thick creamy soup. Return soup to the pan, and heat through. Season with salt, pepper and cinnamon.
Ladle into serving bowls, and pour a thin swirl of cream over the top as a garnish if desired.