1. In a large pot or dutch oven, cook bacon over medium heat until crispy. Remove with a slotted spoon and set aside. *Carefully* soak up the bacon grease with a paper towel, leaving about 2T behind.
2. Add in your butter and onion, sautéing for about 5 minutes or until your onions soften. Throw in your garlic and cook for about 30s or until fragrant.
3. Add in your flour and stir for about 1min.
4. Slowly whisk in your heavy cream and milk, working in batches (about a 1/3 at a time). Repeat with your chicken broth. Season with your salt, pepper, chicken bouillon, and cayenne. Stir to combine.
5. Add in your potatoes and bring to a boil. Boil until fork tender, about 25-30 minutes.
6. Reduce heat to medium-low. Add in your cheddar cheese and bacon (leaving aside a few T for topping), stir until melted.
7. With a potato masher, immersion blender or whatever you have on hand, mash your potatoes until desired consistency.
8. Serve immediately and top with more cheese, sour cream, bacon, and green onions. Enjoy!