In a large pot, over medium heat, cook bacon, stirring frequently until bacon is crisp. Remove from pot with a slotted spoon and drain on a paper towel lined plate.
Sprinkle the flour, over the bacon fat in the pot. Whisk constantly until a thick paste forms. This should take about a minute.
Add the whole milk and whisk to combine with the flour.
Bring to a low simmer and cook for about 5 minutes, whisking frequently until mixture starts to thicken.
Add the vegetable broth. Increase heat slightly and bring the soup to a low boil/simmer. Watch and stir the mixture often to ensure the milk doesn't burn.
Add the mashed potatoes, 1 cup cheddar cheese, kosher salt, and black pepper.
Stir to combine everything together; making sure the cheese is completely melted and the soup is hot.
Taste and season with additional salt and pepper if needed.
Serve each bowl of soup topped with a dollop of sour cream, a sprinkle of cheddar cheese, some bacon bits and sliced green onions.