Preheat your oven to 400°F (200°C). Line a baking sheet with parchment paper or lightly grease it.
Spread the chunks of butternut squash on the baking sheet, drizzle with olive oil, and toss to coat evenly.
Roast the squash in the oven for about 30-40 minutes, until the edges are golden brown and the flesh is tender when poked with a fork.
While the squash roasts, chop the onion and mince the garlic. Sauté them in a large pot with a splash of oil over medium heat until the onion is soft and translucent, about 5 minutes.
Remove the roasted squash from the oven and add the soft flesh into the pot with the sautéed onions and garlic.
Pour in the vegetable broth and add the cinnamon, then bring the mixture to a gentle simmer. Let it cook for 10 minutes to allow the flavors to meld.
Use an immersion blender or transfer the mixture carefully to a blender to blend until smooth and velvety. Return it to the pot if needed.
Stir in the heavy cream or coconut milk for added richness, and season with salt and pepper to taste.
Heat the soup gently until warmed through, then ladle into bowls and serve hot.