1. In a large pot, melt butter over medium heat. Add diced onion and cook until translucent.
2. Add minced garlic and cook for another minute.
3. Stir in flour and cook for 2 minutes, stirring constantly.
4. Gradually add chicken broth, stirring constantly to avoid lumps.
5. Add cubed potatoes and bring to a boil. Reduce heat and simmer until potatoes are tender, about 20 minutes.
6. Use a potato masher to slightly mash the potatoes, leaving some chunks for texture.
7. Stir in heavy cream and shredded cheddar cheese. Cook until cheese is melted and soup is heated through.
8. Season with salt and pepper to taste.
9. Serve hot, garnished with crumbled bacon and chopped chives.