In a large soup pot or Dutch oven, cook the chopped bacon over medium-high heat until crispy, about 8-10 minutes.
Remove the bacon with a slotted spoon, leaving the bacon grease in the pot. Set bacon aside on a paper towel-lined plate.
Add the chopped yellow onion to the pot and cook in the bacon grease over medium heat until soft and translucent, about 5-7 minutes.
Sprinkle the flour over the onions and stir to combine. Cook for about 2 minutes, stirring constantly.
Slowly pour in the chicken broth, followed by water, stirring to avoid lumps. Add the heavy cream and whole milk, stirring until smooth.
Add the diced yellow potatoes. Season with salt and black pepper. Bring the mixture to a boil, then reduce to medium-low heat, cover, and simmer until potatoes are tender, about 20-25 minutes.
Use a potato masher or immersion blender to achieve desired soup consistency. Stir in the grated sharp cheddar cheese until melted and smooth.
Return the crispy bacon to the pot, reserving a bit for garnish. Stir well.
Ladle soup into bowls and top with sour cream, diced green onions, extra shredded cheese, and reserved bacon bits.
Store leftovers in an airtight container in the refrigerator for up to 3 days or freeze for up to 3 months.