In a large pot or Dutch oven over medium heat, cook the diced bacon until crispy. Remove the bacon with a slotted spoon and place it on a paper towel-lined plate to drain. Leave about 2 tablespoons of bacon drippings in the pot.
Sauté The Aromatics
Add the diced onion to the pot with the bacon drippings and sauté over medium heat until translucent, about 5 minutes. Add the minced garlic and cook for an additional 1-2 minutes until fragrant.
Make The Roux
Stir in the unsalted butter and let it melt completely. Sprinkle the all-purpose flour over the onion and garlic mixture, stirring constantly to form a roux. Cook for 2-3 minutes until the roux is light golden in color.
Add Liquids
Gradually whisk in the chicken broth until smooth, ensuring there are no lumps. Add the whole milk and continue to whisk until well combined.
Add Potatoes And Simmer
Add the diced potatoes to the pot. Bring the mixture to a boil, then reduce the heat to low and let it simmer for 20-25 minutes, or until the potatoes are tender when pierced with a fork.
Mash The Potatoes
Using a potato masher or immersion blender, gently mash some of the potatoes in the pot to create a thicker, creamier texture. Leave some potato chunks for added texture.
Add Cheese And Sour Cream
Stir in the shredded cheddar cheese until melted and fully incorporated. Add the sour cream and mix well. Season the soup with salt and freshly ground black pepper to taste.
Serve
Ladle the soup into bowls and garnish with the crispy bacon bits and chopped green onions. Serve hot.
Notes
This loaded potato soup is a hearty and indulgent dish, best enjoyed in moderation as part of a balanced diet.