Preheat the oven to 400 degrees F.
Spread out the butternut squash on a rimmed baking sheet and lightly drizzle with about 1 tablespoon of olive oil
Roast the squash until fork tender, about 25 minutes. The cooking time will vary with the size of the cubes, so begin testing them at 20 minutes.
Prepare the other ingredients while the squash cooks. Dice the shallot and set aside.
Core, peel, and cube the apples. Set aside.
Heat 1 tablespoon of olive oil in a large pot over medium-high heat.
Add the diced shallot to the olive oil and cook until soft, about 3 minutes.
Add the roasted squash and apple cubes to the pot.
Pour in the chicken broth.
Sprinkle in the cinnamon, cumin, cardamom, and thyme.
Lightly salt and pepper.
Stir the ingredients and cover the pot, cooking at a gentle simmer over medium heat. If the soup is boiling too vigorously, turn the heat to medium-low. Cook until all of the ingredients are soft, about 15-20 minutes.
Remove the pot from the heat and blend with an immersion blender, blending in various sections of the pot until the big chunks are broken down. You should choose to blend until you reach the desired texture, leaving larger pieces if you like or blending until it achieves a silky texture.
Pour in 1/4 cup of heavy cream and stir.
Serve as is or add desired toppings.