Peel and dice the potatoes into small cubes. Boil them in a pot of salted water until tender, then drain and set aside.
Sauté The Onion
In a large pot, melt the butter over medium heat. Add the diced onion and sauté until softened.
Create The Base
Sprinkle the flour over the onions, stirring constantly to create a roux. Cook for about 2 minutes, then gradually whisk in the chicken broth until smooth.
Add The Cream And Milk
Slowly pour in the heavy cream and whole milk. Continue stirring to ensure a creamy, lump-free consistency.
Incorporate The Potatoes
Add the cooked potatoes into the pot. Use a potato masher to break them down slightly, leaving some chunks for texture.
Season And Simmer
Season the soup with salt and black pepper. Let it simmer for 20 minutes on low heat, stirring occasionally.
Finish With Cheese And Garnishes
Stir in half of the shredded cheese until melted. Serve hot, topped with the remaining cheese, bacon bits, and green onions.