Preheat your oven to 400°F / 200°C. Lightly spray the cut flesh of the butternut squash with cooking spray.
Place the squash halves flesh-side down on a baking sheet.
Roast until the squash is very tender when pierced with a fork or skewer, about 40 minutes.
Remove from the oven and set aside to cool until it's comfortable to handle.
While the squash cools, heat the olive oil in a large skillet over medium-high heat.
Add the sliced onion and herbes de Provence, cooking and stirring occasionally until the onion begins to brown, about 3 minutes.
Reduce the heat to medium and continue cooking the onions until they are very soft and well-browned, about 5 to 10 minutes more.
Stir in the minced garlic and cook for another 2 to 3 minutes until fragrant.
Transfer the onion and garlic mixture to a high-powered blender.
Scoop the roasted squash flesh out of its skin and add it to the blender.
Add the drained cannellini beans, milk, cinnamon, cumin, nutmeg, cayenne, salt, pepper, and vanilla extract.
Blend on high until the mixture is completely smooth and velvety. You may need to do this in batches depending on the size of your blender.
Pour the blended soup into a large pot and heat over medium heat, bringing it to a gentle simmer.
Once heated through, the soup is ready to serve.
Garnish Generously: Elevate your bowl with toppings! A swirl of coconut cream, a sprinkle of toasted pumpkin seeds, fresh thyme, or a dash of smoked paprika adds wonderful flavor and texture.