In a large pot over medium heat, cook chopped bacon until crisp. Remove and set aside, reserving 2 tablespoons of drippings.
Sauté chopped onion in the bacon drippings until soft, about 4–5 minutes. Add garlic and cook another minute.
Whisk in flour and cook for 1–2 minutes. Slowly stir in chicken broth and milk, whisking until smooth.
Add diced potatoes, bring to a boil, then reduce heat to a simmer. Cover and cook 10–15 minutes or until potatoes are tender.
Stir in shredded cheddar cheese and sour cream. Season with salt and pepper to taste.
Serve hot, topped with crispy bacon and chopped green onions.