Cook diced bacon in the Dutch oven over medium heat for about 8–10 minutes until crispy.
Remove bacon with a slotted spoon and set aside, keeping 2 tablespoons of grease in the pot.
Add diced onion and garlic to the pot and sauté for 3–4 minutes until soft and fragrant.
Melt butter into the pot, whisk in flour, and stir continuously for 2 minutes until golden.
Slowly pour in chicken broth and heavy cream, whisking constantly until the mixture is smooth.
Bring to a gentle simmer and cook for 5 minutes, stirring occasionally to keep it smooth.
Add diced potatoes and cook over medium heat for 15–20 minutes until completely fork-tender.
Use a potato masher to mash about half the potatoes directly in the pot for a thick texture.
Stir in shredded cheddar cheese and sour cream until fully melted, and the soup looks creamy.
Season with salt and pepper, then ladle into bowls and top with all your favorite toppings.