In a large pot, bring the chicken broth to a boil over high heat. Add potatoes and lower heat to medium. When potatoes are almost done cooking (tender but still sticks on your fork), melt the butter in a separate sauce pan.
When butter is melted, slowly whisk in the flour to create a roux. After all the flour is added, slowly add the milk, whisking the whole time. Add the salt and pepper to the milk, and stir occasionally.
When the milk mixture is brought almost to boiling, add it to the potatoes. Add the sour cream to the soup, stir well (see cooking notes).
Add the cheese and stir until melted. Add the green onions and cooked bacon and stir well.
Serve hot. If desired top with additional bacon, cheese, sour cream and/or green onions.
Notes
I always heat up the sour cream before adding it to the soup – when you don’t warm it first, the sour cream tends to curdle. To heat it up, I just add it to the used milk pot and heat it just to boiling and then add it to the soup. Also note that your potatoes will fall apart because of the long cooking time – this is supposed to happen. It helps to thicken the soup without having to add too much flour.