Crisp the Bacon: In a large Dutch oven or soup pot over medium heat, fry the chopped bacon for 6 to 8 minutes until crispy. Remove the bacon with a slotted spoon onto a paper towel-lined plate, leaving about 1–2 tablespoons of bacon grease in the pot. 🥓
Sauté Aromatics: Add the 3 tablespoons of butter to the pot with the bacon grease over medium heat. Add the diced onion and cook for 4 to 5 minutes until soft and translucent. Stir in the minced garlic and cook for 1 minute until fragrant. 🧅🧄
Make the Roux: Sprinkle the flour over the onions and garlic. Cook, stirring constantly, for 1 to 2 minutes to brown the flour slightly. 🌾
Simmer Potatoes: Gradually whisk in the chicken broth, making sure to scrape up any browned bits from the bottom of the pot. Stir in the diced potatoes, salt, and black pepper. Bring to a boil, then reduce heat to medium-low, cover, and simmer for 15 to 20 minutes, or until the potatoes are fork-tender. 🥔
Thicken & Cream: Reduce heat to low. Use a potato masher to mash roughly half of the potatoes directly in the pot to achieve your desired thickness. Stir in the heavy cream and sour cream until warm and smooth. (Do not bring to a boil after adding dairy!) 🥛🥣
Garnish & Serve: Ladle the hot soup into bowls and load it up with shredded cheddar cheese, crispy bacon, and fresh parsley or green onions. Serve immediately with crusty bread! 🍽️✨