Heat olive oil in a large pot over medium heat.
Add chopped onion and carrots and sauté until softened, about 5-7 minutes.
Add cubed butternut squash, cinnamon, nutmeg, salt, and pepper. Stir to combine.
Pour in the vegetable broth and bring to a boil.
Reduce heat and simmer uncovered for 20-25 minutes, or until the squash and carrots are fork-tender.
Remove from heat and use an immersion blender to puree the soup until smooth.
Stir in the coconut milk and adjust seasoning to taste.
Serve hot with an optional swirl of coconut milk on top.