Preheat oven to 400º. On a large baking sheet, toss butternut squash, carrots, garlic, and onion with 2 tablespoons olive oil and season with salt, pepper, ground cinnamon, ground nutmeg, and cayenne pepper (if using). Roast until tender, 25-30 minutes.
Discard any bits of onion that may have burned in the oven then add roasted squash, carrots, garlic, and onion to a large pot over medium heat.
Pour vegetable or chicken broth over roasted vegetables. Simmer for 10-15 minutes, then use an immersion blender to blend the soup until there are no chunks left in the soup. (Alternatively, a blender (that is safe for hot foods) can be used to create a smooth soup. Carefully transfer batches of the soup to the blender.)
Add coconut milk (if using) and stir to combine. Taste and adjust seasonings according to your preference.
Serve garnished with more coconut milk, roasted pumpkin seeds (pepitas), crushed red pepper flakes, and crusty bread or croutons.
Notes
Using full-fat coconut milk or heavy cream instead of light coconut milk will make for a thicker, richer soup.
Potatoes can be peeled, diced, and roasted instead of carrots if you have those.
To add sage to the soup, saute 1-2 leaves (sliced) in the bottom of the large pot before adding roasted vegetables and broth. Fried sage can also be used as a garnish.