Melt the butter in a large soup pot or Dutch oven.
Stir the flour with the butter mixing until smooth.
Pour the milk into the pot and stir until thick, about 10 minutes.
Add the potatoes and onions to the pot and bring to a boil.
Lower to a simmer and cook for 10 minutes or until potatoes are tender.
Stir in the cheese, sour cream, bacon, salt and pepper until cheese is melted and combined.
Garnish with additional bacon, sour cream and green onion if desired. Serve