In a large, heavy-bottomed pot, cook the bacon until crisp over medium heat. Transfer it to a paper towel-lined plate and set aside.
In the same pot over medium heat, add the onion, carrots, celery, apples, and butternut squash to the leftover bacon drippings. Season with salt and pepper. Cook for about 15 minutes until the onions are soft, stirring occasionally. Add the thyme, sage, and bay leaves. Cook for a minute longer before adding the chicken stock.
Bring the stock to a boil and then reduce to a simmer. Cover and cook until the squash is tender, about 15-20 minutes. Remove the bay leaves. Transfer the hot soup to a blender or food processor and blend until smooth, working in batches. When all of the soup is blended, stir in the heavy cream and cheddar cheese. Season to taste (I added about 2 teaspoons of salt and 1 teaspoon of pepper).
Meanwhile, for the topping, crumble the reserved bacon. In a medium sauté pan, heat the olive oil over medium-high heat. Add the diced apple and dried cranberries. Cook for just a couple of minutes (the apples should still be slightly crisp).
Stir in the bacon and sage to heat through. Add the apple cider vinegar, salt, and pepper. Continue to cook for a minute or two longer, reducing some of the vinegar.
Ladle the soup into bowls and spoon a generous amount of the topping over top.