Preheat oven to 400 degrees. Cut off top stem and slice thin layer from the bottom so that both surfaces are flat and sturdy. Carefully slice the squash lengthwise. Use a spoon to scrape out the seeds and the stringiness. Cut each half into 3-4 wedges.
Toss squash wedges with 1 tbsp of olive oil, sprinkle with salt and roast for about 25-30 minutes until fork tender. Let cool enough to handle and remove the skins by running a spoon between the flesh and the thin skin. Set aside.
Dice onion and shallot. Heat butter and 2 tbsp olive oil in a heavy bottomed pot. Add onion and shallot and a few pinches of salt. Gently cook until soft and then add in bay leaf. Cook for another 1-2 minutes until onions are translucent. Add in roasted squash and veggie broth and simmer on low, covered for about 15 minutes.
While the soup is simmering, prep the fennel. Drizzle with a little olive oil and roast for about 20 minutes until lightly browned and caramelized.
Turn off heat on soup. Remove the bay leaf and discard. Use an immersion blender to puree the soup or let cool and add to a blender. Blend until silky and smooth. Taste for seasoning and add more salt, white pepper and a pinch or two of cayenne if desired. If using a regular blender, return to pot to warm through before serving.
In a dry skillet, toast pecans or pepitas on medium heat until just fragrant, being careful not to burn.
Ladle hot soup into bowls, swirl 1-2 tablespoons of heavy cream or coconut milk into each bowl, top with a drizzle of olive oil, roasted fennel and toasted pecans or pepitas. Serve immediately.
Notes
If using a regular blender, make sure that the soup is cooled enough and that you vent the top. Never blend hot soup in a sealed blender!