In a large pot, cook the bacon on medium heat. When done, remove the bacon from the pot and save for later.
In the same pot, add butter and cook until slightly brown. Add onions and garlic and cook until fragrant. Add butternut squash and 2 and ½ cups chicken stock. Stir, cover, and reduce heat to low. Let cook for about 30 minutes or until butternut squash is completely cooked and soft.
If you have an immersion blender, blend ingredients until smooth. If you do not have an immersion blender, let soup cool for about 30 minutes and then add it to a blender and blend until smooth.
Bring pot back to low heat, and stir in 2 cups of milk. Soup should be creamy and smooth. Season with salt and pepper to taste.
Serve with crumbled bacon on top, and with a dollop of sour cream and thyme if desired.