Preheat oven to 400°F (200°C). Toss squash cubes with olive oil, salt, and pepper. Roast for 25–30 minutes until tender and slightly caramelized.
In a large pot, sauté onion and garlic over medium heat until soft and fragrant (about 5 minutes).
Add roasted squash and vegetable broth. Simmer for 10 minutes to blend flavors.
Use an immersion blender (or transfer to a blender) to puree until smooth. Stir in heavy cream if using.
Adjust seasoning and serve hot, garnished with fresh sage or thyme.