Heat olive oil in a large pot or Dutch oven over medium heat. Add the chopped onion and cook until softened, about 5-7 minutes.
Add the minced garlic and cook for another minute until fragrant.
Add the cubed butternut squash to the pot. Pour in the vegetable broth and enough water to just cover the squash. Bring to a boil, then reduce heat, cover, and simmer for 20-25 minutes, or until the squash is tender.
Carefully transfer the soup to a blender (in batches if necessary) or use an immersion blender. Blend until smooth and creamy.
Return the soup to the pot. Stir in the heavy cream (or coconut milk), salt, pepper, and nutmeg. Heat gently until warmed through, but do not boil.
Taste and adjust seasonings as needed. Serve hot, garnished with a swirl of cream or toasted pumpkin seeds, if desired.
Notes
For a richer flavor, you can roast the butternut squash before adding it to the soup. You can also add other spices like cinnamon or ginger for a different flavor profile.