Ingredients
- 
6 slices thick-cut bacon
 - 
4 tbsp unsalted butter
 - 
1 small onion, diced
 - 
3 cloves garlic, minced
 - 
⅓ cup all-purpose flour
 - 
4 cups chicken broth (or vegetable broth)
 - 
3 cups milk (whole milk or 2%)
 - 
5–6 medium russet potatoes, peeled and diced
 - 
1 cup shredded cheddar cheese (plus extra for topping)
 - 
½ cup sour cream
 - 
½ tsp salt (adjust to taste)
 - 
½ tsp black pepper
 - 
¼ tsp paprika (optional)
 - 
3 green onions, sliced (for garnish)
 
Instructions
- 
Cook the bacon
In a large pot or Dutch oven, cook the bacon over medium heat until crispy. Remove and drain on paper towels, then crumble and set aside. Reserve 2 tablespoons of bacon drippings in the pot. - 
Sauté onion and garlic
Add butter to the bacon drippings. Once melted, stir in onion and cook until translucent (about 4–5 minutes). Add garlic and cook for another 30 seconds until fragrant. - 
Make a roux
Sprinkle the flour over the onion mixture and stir constantly for 1–2 minutes to remove the raw flour taste. This will thicken the soup later. - 
Add liquids
Gradually whisk in chicken broth and milk, stirring to keep the mixture smooth. - 
Add potatoes
Stir in the diced potatoes, bring to a simmer, then reduce the heat to medium-low. Cook for 15–20 minutes, stirring occasionally, until the potatoes are tender and beginning to break down. - 
Mash slightly
Use a potato masher or the back of a spoon to mash some of the potatoes directly in the pot — this creates a creamy texture while leaving some chunks for heartiness. - 
Add cheese and sour cream
Stir in cheddar cheese until melted, then add sour cream, salt, pepper, and paprika. Adjust seasoning to taste. - 
Serve and garnish
Ladle into bowls and top with crumbled bacon, extra cheese, and green onions. Serve hot! 

