Prep the squash: Peel the butternut squash with a vegetable peeler. Slice it in half lengthwise, scoop out the seeds, and dice into 1-inch cubes. If you’re short on time, many grocery stores sell pre-cut squash.
Sauté the aromatics: Heat olive oil (or butter) in a large pot over medium heat. Add the diced onion and sauté for 4–5 minutes until translucent. Stir in the minced garlic and cook for another 1–2 minutes until fragrant.
Add squash and spices: Toss in the cubed butternut squash, cinnamon, nutmeg, salt, and pepper. Stir well to coat the squash with the spices and aromatics.
Simmer: Pour in the vegetable broth. Bring the soup to a boil, then reduce heat to low. Cover and simmer for 20–25 minutes, or until the squash is fork-tender.
Blend until smooth: Use an immersion blender directly in the pot to blend the soup until silky smooth. If using a regular blender, work in batches and blend carefully. Return to pot once blended.
Adjust and finish: Stir in coconut milk or heavy cream if using. Taste and adjust seasoning with more salt, pepper, or a touch of cinnamon as desired. Warm it for another 2–3 minutes before serving.
Serve hot: Ladle into bowls and garnish with a swirl of cream, a sprinkle of roasted seeds, or fresh herbs.