Cook bacon, onion, garlic, salt and pepper until bacon is crisp. Add all-purpose flour and cook about a minute, slowly start adding chicken broth and whisk in between each addition of broth, whisk in half and half and continue cooking until smooth and combined.
Add half of the potatoes to soup mixture and very roughly mash. Add remaining potatoes and cheese. Stir until cheese is melted. Serve with more bacon, cheese and green onions.