Cook bacon in a large pot until crispy; remove and reserve 2 tbsp grease.
Sauté garlic, onion and celery in butter and bacon grease until soft.
Make roux by stirring in flour; cook 1-2 min.
Add liquids (milk, cream, broth), seasonings, and potatoes. Simmer 15-20 min until tender.
Mash slightly for a chunky texture or blend for smoothness.
Stir in cheese and bacon, letting cheese melt. Adjust seasoning.
Serve hot, topped with bacon, cheddar, and green onions.
