Cook the Bacon: In a large pot or Dutch oven, cook the diced bacon over medium heat until crispy, about 5-7 minutes. Remove the bacon with a slotted spoon and set aside, leaving the bacon fat in the pot.
Sauté the Onion and Garlic: Add the diced onion to the pot with the bacon fat and cook until softened, about 5 minutes. Add the minced garlic and cook for an additional 1 minute until fragrant.
Add the Potatoes: Add the diced potatoes to the pot and stir to coat them in the onion and garlic mixture. Cook for about 2-3 minutes.
Add the Liquids: Pour in the chicken broth, milk, and heavy cream. Stir well to combine.
Season the Soup: Add the salt, black pepper, and dried thyme to the pot. Stir well to combine.
Simmer the Soup: Bring the soup to a simmer, then reduce the heat to medium-low. Let the soup simmer for about 20-25 minutes, or until the potatoes are tender.
Blend the Soup (Optional): For a smoother texture, use an immersion blender to blend some of the potatoes in the pot. This step is optional and depends on your preference for a chunkier or smoother soup.
Add the Cheese: Stir in the shredded cheddar cheese until it is fully melted and incorporated into the soup.
Serve: Ladle the soup into bowls. Top with the cooked bacon, extra shredded cheese, chopped chives, and a dollop of sour cream if desired. Serve hot and enjoy!