Add potatoes and broth to a large pot bring to boil. Cook until potatoes are tender.
Cook bacon and onion in a large pan. When the bacon half done, add the garlic and corn. Continue to cook over medium heat until corn is beginning to brown.
When the corn, bacon, and onions are cooked, move from the pan to large pot with the potatoes, leaving behind some of the bacon grease. Reduce to medium heat.
Melt the butter in the pan with the grease. Add the flour and stir to create a roux. Add 1/2 cup of hot broth to the flour/butter and stir until thickened. Continue this until you have added 2 cups.
Add thickened broth back to the large pot with potatoes, bacon, corn, etc. Use a potato masher to mash some of the potato cubes. This will also thicken the soup.
Stir in the heavy cream, salt and pepper. Cook for a few more minutes to bring back up to temperature.