01 - Melt butter in a large pot or Dutch oven over medium heat. Add diced onion and celery, sauté until softened, approximately 5 minutes.
02 - Stir in minced garlic and cook for 1 minute until fragrant, being careful not to burn.
03 - Add diced potatoes, corn kernels, fresh thyme, bay leaf, salt, and pepper. Stir thoroughly to combine all ingredients.
04 - Pour in vegetable stock and bring to a boil. Reduce heat to maintain a gentle simmer and cook uncovered for 20 minutes, or until potatoes are fork-tender.
05 - Discard the bay leaf from the simmered soup mixture.
06 - Using an immersion blender, puree approximately one-third of the soup directly in the pot to create a creamy base while preserving chunky texture. Alternatively, transfer a portion to a countertop blender, puree, and return to pot.
07 - Stir in whole milk and heavy cream. Simmer gently for 5 to 7 minutes, stirring occasionally. Do not allow the soup to come to a full boil to prevent dairy separation.
08 - Taste the chowder and adjust salt and pepper as needed to achieve desired flavor balance.
09 - Remove from heat and stir in fresh chives and parsley just before serving.
10 - Ladle hot chowder into serving bowls. Garnish with additional fresh herbs, crumbled bacon, or shredded cheddar cheese if desired.