Prep the base. If using bacon, cook it in a large pot over medium heat until crisp, 6–8 minutes.
Transfer bacon to a plate and leave 1–2 tablespoons of the fat in the pot. Add the butter to the pot. If skipping bacon, melt the full 2 tablespoons of butter.
Sweat the veggies. Add onion, celery, and carrot.
Cook over medium heat until soft and glossy, 6–8 minutes. Stir in garlic and cook 30 seconds until fragrant.
Season early. Add smoked paprika, thyme, bay leaf, salt, and pepper. Stir to coat the veggies.
Seasoning now builds deeper flavor.
Add corn and potatoes. Stir in the corn and potatoes. Cook 2–3 minutes to let the corn warm and release some sweetness.
Pour in broth. Add the broth and bring to a gentle simmer. Reduce heat and cook uncovered for 12–15 minutes, or until potatoes are tender but not falling apart.
Create the creamy texture. Ladle about 2 cups of the soup (mostly liquid with some potatoes and corn) into a blender.
Blend until smooth and silky, then return it to the pot. Alternatively, use an immersion blender to partially blend right in the pot, leaving plenty of kernels whole.
Add dairy. Stir in the milk and, if using, the heavy cream. Warm gently over low heat; do not boil after adding dairy to prevent curdling.
Adjust thickness. If you want it thicker, stir in the cornstarch slurry and simmer 1–2 minutes until it lightly thickens.
If too thick, add a splash of broth or milk.
Taste and finish. Remove the bay leaf. Taste and adjust salt and pepper. Stir in half the crispy bacon and some chives.
Save the rest for topping.
Serve. Ladle into bowls and top with remaining bacon and chives. Add a dash of hot sauce if you like a little kick.