Melt butter in a large pot over medium heat. Add your chopped onion and celery, then sauté for about 3 minutes until the onion starts to soften. I personally watch it turn golden and fragrant — that's when you know it's ready. Add minced garlic and cook for another minute.
Sprinkle the flour over the veggies and stir constantly for 2-3 minutes (yes really). This creates a roux that'll thicken your corn chowder recipe without any lumps. You'll notice it starting to smell almost nutty when it's done.
Slowly pour in the chicken broth while stirring — don't just dump it in or you'll end up with lumps. Keep stirring for about 2 minutes until everything's smooth and combined. The mixture should look creamy and light-colored.
Add your diced potatoes and dried thyme, then bring everything to a simmer. Let it bubble gently for about 15-20 minutes until the potatoes are fork-tender. Don't crank the heat too high or it'll boil over and make a mess (speaking from experience here).
Stir in the frozen corn kernels and let them heat through for about 3-5 minutes. The corn doesn't need long since it's already cooked. You'll see it go from frozen bits to soft and plump.
Pour in the heavy cream and whole milk, then season with salt and pepper. Taste and adjust — you might want more salt depending on your broth. Stir in the cheddar cheese until it's melted and creamy.
Let it simmer for 5 more minutes so all the flavors meld together. The corn chowder recipe should be thick enough to coat the back of a spoon. If it looks too thin, just let it bubble a little longer.