Preheat your oven to 400°F (200°C). If using fresh pumpkin, cut it in half, scoop out the seeds, and place cut-side down on a baking sheet. Roast until flesh is tender and caramelized around the edges, about 30 minutes. Let cool slightly before scooping out the flesh.
In a large pot, heat olive oil over medium heat. Add diced onion and cook until translucent and fragrant, about 5 minutes. Stir occasionally to prevent sticking.
Add the minced garlic, ground ginger, and ground nutmeg to the pot. Cook for another minute until the spices release their aroma, filling the kitchen with a warm smell.
Stir in the roasted pumpkin flesh or pumpkin puree, mixing well with the aromatics. Cook for 2-3 minutes to let the flavors meld.
Pour in the vegetable broth, bringing the mixture to a gentle simmer. Allow it to cook uncovered for about 10 minutes, stirring occasionally, to develop depth of flavor.
Use an immersion blender directly in the pot or carefully transfer the mixture to a blender. Purée until smooth and velvety, then return to the pot if needed.
Add the coconut milk to the smooth soup, stirring until fully incorporated. Warm through over low heat without boiling, about 5 minutes.
Season the soup with salt and pepper to taste, adjusting the flavor as desired.
Taste the soup and adjust seasoning if needed. The final texture should be creamy, with a bright orange color and a fragrant, spicy aroma.
Serve hot, garnished with a drizzle of coconut milk or a sprinkle of fresh herbs if desired. Enjoy the velvety warmth of this flavorful pumpkin soup.