01 - In a large pot over medium heat, cook the diced bacon until crisp. Remove with a slotted spoon and set aside. Drain excess fat, leaving 1 tablespoon in the pot. For a vegetarian version, omit bacon and add 1 extra tablespoon butter.
02 - Add butter to the pot. Sauté onion, celery, carrot, and garlic for 4 to 5 minutes until softened.
03 - Stir in potatoes, corn, bay leaf, thyme, smoked paprika, salt, and pepper. Pour in broth and bring to a boil.
04 - Reduce heat, cover, and simmer for 15 to 20 minutes until potatoes are tender.
05 - Remove bay leaf. Using an immersion blender, puree about half of the soup to achieve a creamy texture while retaining some chunks. Alternatively, transfer half to a blender and return blended portion to the pot.
06 - Stir in whole milk and heavy cream, then simmer gently for 5 minutes. Adjust seasoning as needed.
07 - Ladle soup into bowls and top with reserved bacon and chopped fresh chives or parsley.