#### **Step 1: Cook the Bacon**
In a large pot or Dutch oven over medium heat, cook the chopped bacon until crispy.
Remove with a slotted spoon and drain on paper towels. Leave about 1 tablespoon of bacon fat in the pot.
#### **Step 2: Sauté the Aromatics**
Add chopped onions to the bacon fat and cook until soft (about 3 minutes).
Stir in garlic and cook for another 30 seconds until fragrant.
#### **Step 3: Cook the Potatoes**
Add diced potatoes, chicken broth, salt, pepper, and smoked paprika (if using).
Bring to a boil, then reduce heat and simmer for 15-20 minutes until potatoes are fork-tender.
#### **Step 4: Blend the Soup**
Use a potato masher to mash some of the potatoes for a thick consistency.
For a smoother soup, use an immersion blender or blend in batches.
#### **Step 5: Add Dairy & Cheese**
Stir in milk, heavy cream, butter, cheddar cheese, and sour cream.
Simmer on low for another 5 minutes, stirring until creamy and smooth.
#### **Step 6: Serve & Garnish**
Ladle soup into bowls and top with extra shredded cheddar, crispy bacon bits, chopped green onions, and a dollop of sour cream.
Serve hot with crusty bread or garlic toast.