Cook the chopped bacon in a large pot over medium heat until it turns crispy. Remove the bacon with a slotted spoon and set it aside. Leave about two tablespoons of bacon fat in the pot.
Add the diced onion to the pot and cook for five minutes until it softens. Stir in the minced garlic and cook for one more minute.
Add the cubed potatoes and chicken broth. Bring the mixture to a boil, then reduce the heat and simmer for 15 minutes until the potatoes are tender.
Use a potato masher to break down some of the potatoes for thickness while leaving a few chunks. Stir in the milk and sour cream until the soup is smooth and creamy.
Add most of the shredded cheddar cheese and stir until it melts. Season with salt and black pepper to taste.
Ladle the soup into bowls and top each serving with the reserved crispy bacon, remaining cheddar cheese, and sliced green onions.