Cook the bacon in a large pot or Dutch oven over medium heat until crisp. Remove the bacon with a slotted spoon and set aside, leaving about 1 tablespoon of bacon grease in the pot.
Add the onion and celery to the pot. Cook until softened, about 5 minutes. Add the garlic and cook for 1 minute more until fragrant.
Stir in the flour until it coats the vegetables, cooking for 1 minute. This creates a roux base.
Gradually whisk in the chicken broth, ensuring no lumps form. Add the diced potatoes, shredded chicken, thyme, salt, and pepper.
Bring the mixture to a boil, then reduce the heat to a simmer. Cook, stirring occasionally, until the potatoes are tender, about 10 to 12 minutes.
Stir in the corn kernels, milk, and heavy cream. Heat through gently for 3 to 5 minutes, but do not let the soup boil after adding the cream.
Taste and adjust seasoning if needed. Ladle the chowder into bowls and top each serving with the reserved crispy bacon and fresh parsley.
Notes
For a slow cooker variation, combine all ingredients except the flour, milk, and cream in the slow cooker. Cook on low for 6 hours or high for 3 hours. Before serving, mix the flour with the milk and cream to create a slurry, then stir into the slow cooker. Cook on high for 15 minutes until thickened.
If you prefer a thicker soup, mash about 1/4 of the potatoes against the side of the pot before adding the cream.
Use rotisserie chicken to save time on cooking and shredding the chicken.