In a large 6-quart Dutch oven, cook the diced bacon over medium heat until crispy. Remove using a slotted spoon or tongs, and transfer to a plate lined with a paper towel. Then chop into smaller pieces and set aside.
Remove some of the bacon fat from the pot (leave only about 2 tablespoons). Over medium heat, melt the butter and then sauté the celery and onions until softened, about 6-8 minutes.
Then, add the minced garlic, thyme, and paprika, and sauté for another 2 minutes until fragrant.
Add the flour and stir to coat the vegetables for about 1 minute. Gradually add the chicken broth, stirring to dissolve the flour and scraping any brown bits. Bring back to a simmer - the broth will thicken as it heats up.
Add the diced potatoes and bring back to a simmer. If the broth seems too thick, add some more broth as needed. Cover with the lid, and simmer for 20 minutes until the potatoes are tender.
Then, add the corn and simmer for another 5 minutes. Stir in the heavy cream or half-and-half to taste. Season with salt and pepper to taste. Finally, add the chopped bacon into the soup, leaving some for garnish.
To serve, garnish with shredded cheese, the chopped bacon, and parsley. Enjoy!