Preheat oven to 400F. Line a rimmed baking sheet with foil.
Place butternut squash on sheet and bake for an hour until soft and skin appears lightly browned and carmelized. When cool enough to handle, cut in half, scoop out seeds and peel.
Mash flesh in a soup pot. Set aside.
While squash is roasting, spray a non-stick skillet with cooking spray and heat over medium-high. You could also use olive oil, which adds to the flavor if you prefer.
When pan is hot but not smoking, add chopped red onion. Let onion sweat and cook until it begins to brown, about 10 minutes.
Add garlic and cook until it just begins to color, about 2 minutes. Remove from heat.
Set soup pot over a medium-low heat. Add garlic and onions to squash in soup pot. Mix thoroughly.
Add in cinnamon, cardamom, cumin, date syrup and pomegranate molasses, if using.
Add brown sugar if you'd like additional sweetness. Taste to adjust spices/sweetness to your taste. Stir well.
Slowly add in coconut milk and whisk to combine.
Bring soup to boil then reduce heat to simmer, 15 minutes.
If you prefer a more consistent texture, use an immersion blender to puree right in the soup pot.