Place potatoes and chicken broth in a large Dutch oven or pot. Bring to a boil and cook until potatoes are soft, about 10 minutes.
While potatoes are cooking, melt butter in a saucepan, then sauté the onions. Once they soften, stir in the garlic and sauté for another minute or two. Whisk in the flour, then add milk and cook over medium heat, stirring frequently. When milk thickens, add it to the cooked potatoes.
If you prefer your potato soup chunky, you're ready to add your toppings and serve. However, if you like a smoother consistency, put the soup in the food processor for about 20-30 seconds to break down the potatoes.
Ladle soup into bowls and top with cheese, bacon and scallions.