Start by peeling the butternut squash and scooping out the seeds. Cut it into 1-inch cubes.
In a large pot, heat the olive oil over medium heat. Add the chopped onion and sauté for about 5 minutes, until translucent.
Add the minced garlic and cook for another 2 minutes, stirring frequently to prevent burning.
Stir in the cubed butternut squash, ginger, nutmeg, salt, and pepper. Cook for another 5 minutes, stirring occasionally.
Pour in the vegetable broth and bring the mixture to a boil. Once boiling, reduce the heat and let it simmer for about 20 minutes, or until the squash is tender.
Remove the pot from heat. Using a blender or immersion blender, carefully puree the soup until smooth.
If desired, return the soup to low heat and stir in the heavy cream for added richness. Adjust seasoning with salt and pepper to taste.
Serve warm in bowls, garnished with a drizzle of olive oil or a sprinkle of nutmeg if desired.