Cook the bacon: In a large saucepan, fry the chopped bacon over medium heat until it becomes crispy. Remove the bacon with a slotted spoon and transfer to a paper towel-lined plate, leaving about 1 tablespoon of the bacon drippings in the pot.
Sauté the onion and garlic: Add the unsalted butter to the pot with the bacon drippings. Once melted, add the diced onion and sauté for 3-4 minutes, until softened. Add the minced garlic and sauté for an additional minute until it becomes aromatic.
Make the roux: Sprinkle the flour over the onion and garlic mixture and stir constantly for 1-2 minutes to create a roux, which will thicken the chowder.
Add liquids and vegetables: Gradually pour in the water (or broth) while stirring to combine with the roux. Add the corn kernels (cut from the cobs), sliced potatoes, dried thyme, smoked paprika, salt, and black pepper. Stir well to combine.
Simmer: Bring the mixture to a gentle boil, then reduce the heat to low and let it simmer for 20-25 minutes, or until the potatoes are tender and the flavors have melded together.
Blend (optional): For a creamier chowder, use an immersion blender to partially blend the soup, leaving some chunks of corn and potatoes intact. As an alternative, pour roughly 2 cups of the chowder into a blender, puree until smooth, and then pour it back into the pot.
Add cream and bacon: Stir in the half-and-half (or heavy cream) and the crispy bacon. Let the chowder simmer for an additional 5 minutes to heat through, but avoid bringing it to a boil once the cream is added.
Garnish and serve: Ladle the chowder into bowls and garnish with chopped fresh chives. Serve the Hearty Homemade Corn Chowder warm, with crusty bread or a side salad.