In a large pot, heat the olive oil and butter over medium heat. Add the chopped onion and minced garlic, and sauté until the onion is translucent and fragrant.
Add the cubed butternut squash and chopped apples to the pot. Stir well to coat the vegetables and fruit with the onion and garlic mixture.
Pour in the vegetable broth, ensuring that the squash and apples are fully submerged. Bring the mixture to a boil, then reduce the heat to low and let it simmer for about 20-25 minutes, or until the squash and apples are tender.
Using an immersion blender or a regular blender, purée the soup until smooth and creamy. Be careful when blending hot liquids, as they can splatter. If using a regular blender, blend in batches and vent the lid to release steam.
Return the puréed soup to the pot and place it over low heat. Stir in the ground cinnamon, nutmeg, ginger, salt, and black pepper. Allow the flavors to meld together for a few minutes.
Finally, stir in the heavy cream, and let the soup simmer for an additional 5 minutes to heat through. Taste and adjust the seasonings if needed.
Serve the butternut squash and apple soup hot, garnished with your choice of toppings. Some popular options include a drizzle of balsamic reduction, a sprinkle of toasted pumpkin seeds, or a dollop of crème fraîche.