Place bacon in a large soup pot or dutch oven and cook until crisp. Drain off all but 1/4 cup of grease.

Add celery, onion and garlic to bacon grease and cook until just softened. Be careful not to burn garlic. Add potatoes and toss in grease to coat.

Add chicken broth. Bring to a boil, then simmer until potatoes are tender, stirring occasionally.

Place butter in a small saucepan over medium heat. When melted, whisk in flour. Brown mixture, stirring constantly, for approximately 2 minutes. Add heavy cream slowly, while whisking constantly. Bring to a boil, then reduce heat and continue whisking until mixture thickens.