01 - In a large pot over medium heat, cook diced bacon until crisp. Remove with a slotted spoon and set aside. Drain excess fat, leaving 1 tablespoon in the pot. For vegetarian version, omit bacon and add 2 tablespoons unsalted butter.
02 - Add butter to the pot if bacon was omitted. Sauté finely chopped onion, celery, carrot, and minced garlic for 4 to 5 minutes until softened and fragrant.
03 - Stir in diced potatoes, corn kernels, bay leaf, dried thyme, smoked paprika, salt, and freshly ground black pepper. Pour in broth and bring mixture to a boil.
04 - Reduce heat to low, cover pot, and simmer for 15 to 20 minutes until potatoes are tender when pierced with a fork.
05 - Remove and discard bay leaf. Using an immersion blender, puree approximately half of the soup directly in the pot to create a creamy texture while retaining some chunks. Alternatively, blend half the batch in a blender and return it to the pot.
06 - Stir in whole milk and heavy cream, then simmer gently for 5 minutes to warm through. Taste and adjust seasoning as necessary.
07 - Ladle chowder into serving bowls. Top each with reserved crispy bacon if used, and sprinkle with freshly chopped chives or parsley.