Preheat oven to 400°F (200°C). Cut butternut squash into wedges and toss with 1 tablespoon olive oil and salt. Roast for 25-30 minutes, or until tender. Let cool and remove skins.
Dice onion and shallot. Heat butter and 2 tablespoons olive oil in a heavy-bottomed pot. Add onion and shallot and a pinch of salt. Gently cook until soft. Add bay leaf and cook for 1-2 minutes. Add roasted squash and vegetable broth. Simmer, covered, for 15 minutes.
While soup simmers, drizzle fennel with a little olive oil and roast for 20 minutes until lightly browned and caramelized.
Remove bay leaf and blend soup until smooth. Season with salt, white pepper, and cayenne pepper to taste.
Toast pecans or pepitas in a dry skillet until fragrant.
Ladle soup into bowls, swirl in heavy cream, drizzle with olive oil, top with roasted fennel and toasted pecans or pepitas. Serve immediately.