01 - Melt the butter in a large pot over medium heat. Add the chopped onion, diced celery, and diced carrot. Sauté for 5 minutes until the vegetables are softened and fragrant.
02 - Stir in the minced garlic and cook for 1 minute until fragrant, being careful not to burn it.
03 - Sprinkle the flour over the vegetables and cook for 1-2 minutes, stirring constantly to form a smooth roux and eliminate the raw flour taste.
04 - Gradually whisk in the vegetable broth, ensuring there are no lumps. Continue whisking until the mixture is smooth and slightly thickened.
05 - Add the diced potatoes to the pot and bring the mixture to a boil. Reduce heat to low, cover, and simmer for 12-15 minutes until the potatoes are just tender when pierced with a fork.
06 - Stir in the corn kernels, salt, black pepper, and smoked paprika if using. Simmer for another 8-10 minutes until the corn is heated through and flavors have melded.
07 - Reduce heat to low. Pour in the whole milk and heavy cream, stirring gently to incorporate. Heat through until the soup is hot and steaming, but do not allow it to boil as this may cause the dairy to separate.
08 - Use an immersion blender to puree approximately one-third of the soup directly in the pot, leaving some chunks for texture. Alternatively, transfer about 1 cup of soup to a regular blender, puree, and return to the pot.
09 - Taste the chowder and adjust salt and pepper as needed to achieve the desired flavor balance.
10 - Ladle the hot chowder into individual bowls and garnish with freshly chopped parsley and chives. Serve immediately while hot.