Preheat the oven to 375 degrees Fahrenheit (190 degrees Celsius) and place a rack in the middle. Line a baking sheet with aluminum foil.
Coat the whole butternut squash in the canola oil and place on the lined baking sheet. Roast in the preheated oven for 1 to 1 ½ hours, turning the squash every 20 minutes, or until the squash is fork tender.
In a large, heavy-bottomed pot or Dutch oven over medium heat, melt the butter. Add the chopped onion, and cook until the onions are translucent and just beginning to caramelize.
Add the diced apple and cook for 5 minutes, or until softened.
Add the minced garlic and the crushed red chili flakes, and cook for 1 minute, until fragrant. Remove the pan from the heat and set aside.
When the squash is ready and removed from the oven, set the baking sheet on a wire rack until the squash is cool enough to handle. Cut the cooled squash in half and use a spoon to scoop the seeds out. Peel off and discard the skin, and add the flesh into the pot with the onion mixture.
Add the vegetable or chicken broth with the squash, and season with the kosher salt and pepper. Stir to combine.
Bring to a boil over medium-high heat, then reduce the heat to medium-low and simmer for 15 minutes, stirring occasionally to break up any large pieces of squash, until the flavors meld.
Remove the pot from the heat, and stir in the cream and the chopped sage.
Using a blender, immersion blender, or food processor, and in batches if needed, purée the soup until smooth. If using a blender, remove the small cap (i.e. the pour lid) from the blender lid and cover the space with a kitchen towel to allows steam to escape and prevent the blender lid from popping off.
Taste and season with more salt and black pepper, if desired. Garnish with the toasted pumpkin seeds, if using.