Prep your bacon and add it to a large pot over medium-high heat. Cook until crispy (about 10 minutes).
Meanwhile, prep your onion, celery, and potatoes.
Once the bacon is crispy, take it out of the pot and remove to a paper towel lined plate. Leave about 2 tablespoons of the bacon fat in the pot.
Add the onion, celery, and carrots to the pot and sauté for 5 minutes.
Stir in the garlic and cook for 30 seconds.
Stir in the flour and cook for about a minute, stirring nearly constantly.
Add in the chicken broth and give it a good stir to ensure the flour has dissolved and the brown bits are scraped up from the bottom of the pot.
Add in the corn, potatoes, Italian seasoning, cayenne pepper, and the bacon . Increase the heat to high and bring the soup to a boil. Once it's boiling, reduce the heat to a rapid simmer so it's gently boiling. Cover the pot so the lid is slightly ajar.
Cook until the potatoes are tender (about 15-20 minutes). Stir every so often.
Turn soup down to a gentle simmer and add the half and half. Let cook for 10 minutes.
If you want your soup thicker, make a slurry of 1 Tbsp cornstarch or arrowroot powder and 2 Tbsp of water, milk or broth and add to soup. Let cook 5 minutes
The soup will thicken up more the longer you cook it.
Season the soup with salt & pepper as needed.