Preheat your oven to 400°F (200°C). Spread the butternut squash chunks on a baking sheet and toss with a tablespoon of olive oil. Roast for about 30-40 minutes until the edges are caramelized and slightly charred, and the squash is tender when pierced with a fork.
While the squash is roasting, dice the onion and mince the garlic. Heat the remaining tablespoon of olive oil in a large pot over medium heat. Sauté the onion until soft and translucent, about 5 minutes, until it begins to smell sweet.
Add the minced garlic to the onions and cook for 1 minute, stirring until fragrant. Then, sprinkle in the cinnamon and nutmeg, stirring to coat the onions and release their warm aroma.
Once the roasted squash is cool enough to handle, add it to the pot with the sautéed onions and spices. Break up the chunks slightly with a spoon or spatula, allowing the flavors to meld for about 5 minutes.
Pour in the vegetable broth and bring the mixture to a gentle simmer. Cover and cook for another 10 minutes to allow the flavors to deepen.
Use an immersion blender or transfer the soup in batches to a blender. Blend until smooth and creamy, achieving a velvety texture. Return the soup to the pot if needed.
Stir in the coconut milk for added creaminess and a subtle sweetness. Season with salt and pepper to taste, adjusting to preference.
Warm the soup gently over low heat for a few minutes, tasting and adjusting the seasoning as needed. The soup should be hot and fragrant, ready to serve.
Ladle the hot, creamy squash soup into bowls. Garnish as desired with a drizzle of coconut milk, a sprinkle of spices, or fresh herbs.