Thinly slice 1 sweet, yellow onion and place in a cold pan. Place on stove and turn on to medium heat. Allow onions to caramelize, while occasionally stirring.
While onions are cooking, cook 6 oz bacon according to package directions until crispy. Once done, roughly chop and set aside.
Peel and dice 2 lbs potatoes, while the onions are caramelizing, making sure to keep an eye on them. Place diced potatoes in water once done.
When onions are done caramelizing, add 1 tbsp unsalted butter. Allow to melt while trying to scrape up the bits from the bottom. Once butter is all melted, add 3-4 garlic cloves and cook until fragrant.
Deglaze the pan with a little bit of the 3 cups chicken broth. Then, add the rest of the broth and the prepped potatoes. Bring to a low simmer and cook potatoes until they are tender.
Blend half of the soup mixture with either a blender or immersion blender. Add the puree to the pot and use a spoon to break up the rest of the potato chunks. Give it a good stir.
Add 2/3 cup milk, 1/3 cup heavy cream, bacon crumbles, salt, and pepper. Stir the soup until well combined.
Serve with toppings of bacon, sharp cheddar cheese, and green onions. Enjoy!