Heat olive oil in a large pot over medium heat. Add chopped onions and minced garlic, sauté until translucent and fragrant.
Add diced butternut squash, carrot, and potato to the pot. Cook for about 5 minutes, stirring occasionally.
Pour in vegetable broth, ensuring that the vegetables are fully submerged. Bring to a boil, then reduce heat and let it simmer for 20-25 minutes, or until the vegetables are tender.
Once the vegetables are cooked through, remove the pot from heat. Using an immersion blender, purée the soup until smooth and creamy. Alternatively, transfer the soup in batches to a blender and blend until smooth, then return it to the pot.
Season the soup with ground cinnamon, nutmeg, salt, and pepper according to your taste preferences. Stir well to combine.
If desired, stir in heavy cream for extra richness and creaminess.
Return the pot to low heat and let the soup simmer for an additional 5 minutes to allow the flavors to meld together.
Serve hot, garnished with fresh parsley or chives if desired.