Prepare all the ingredients: Peel the butternut squash, scoop out the seeds, and cut it into 1-inch (3 cm) cubes. Peel and core the apples, then cut into cubes. Dice the onion, finely chop garlic and ginger.
Sautee the aromatics: Heat the oil in a big pot over medium-low heat. Add the onion and cook for about 5 minutes or until soft and translucent. Add the ginger, garlic, and cinnamon. Cook, stirring, for about a minute.
Add the chopped butternut squash and the apples. Cook over high heat for about 1-2 minutes, until the squash is lightly browned.
Add the broth. Bring to a boil and cook over low heat for about 15 minutes. The butternut squash should be fork tender.
Puree the soup until smooth. You can do that with a hand (immersion) blender or in a stand blender.
Take the pot off the heat. Add the heavy cream, and season the soup with salt and pepper.