Heat the olive oil and butter in a large Dutch oven or soup pot over medium heat. Add the onion, carrots and a pinch of salt. Cook for 7–8 minutes, stirring occasionally, until softened and beginning to colour.
Stir in the garlic, sage, thyme, ginger, nutmeg and cayenne, if using. Cook for about 30 seconds, stirring constantly, until fragrant.
Add the sweet potatoes, pumpkin purée, broth, 1 teaspoon salt and black pepper. Bring to a boil, then reduce the heat to a gentle simmer. Partially cover and cook for 18–22 minutes, or until the sweet potatoes are completely fork tender and easily mash against the side of the pot.
Remove the pot from the heat and use an immersion blender to blend the soup until completely smooth and velvety. Alternatively, carefully blend the soup in batches using a regular blender.
Return the pot to low heat. Stir in the heavy cream, maple syrup and apple cider vinegar. If the soup is too thick, gradually add more broth until it's creamy and pourable.
Taste and adjust with additional salt, pepper, vinegar or maple syrup as needed. Ladle into bowls and finish with crispy fried sage, toasted pepitas, a drizzle of cream and fresh herbs, if desired.
Notes
Use pure pumpkin purée, not pumpkin pie filling. The latter is already sweetened and spiced.Cook the sweet potatoes until VERY tender. They should easily mash against the side of the pot for the smoothest, silkiest texture.Adjust the broth after blending. The soup should be thick and creamy but still pour easily from a ladle.Don’t skip the apple cider vinegar. It balances the natural sweetness of the pumpkin, sweet potato and maple without making the soup taste vinegary.For leftovers, the soup will thicken in the fridge. Reheat gently with a splash of broth to loosen it back up.