In a large pot, cook the bacon over medium heat until crisp. Remove and set aside, leaving about a tablespoon of the drippings in the pot.
Add the onion to the pot and cook for 4 minutes, until soft. Stir in the garlic and cook 30 seconds more.
Add the potatoes and chicken broth. Bring to a boil, then simmer for 15-18 minutes, until the potatoes are fork-tender.
Use a potato masher to mash about half of the potatoes right in the pot, leaving some chunks for texture.
Stir in the milk, sour cream, and cheddar until melted and creamy. Season with salt and pepper.
Serve topped with the crispy bacon, green onions, and extra cheese.