Place bacon pieces in a large pot or Dutch oven. Turn heat to medium and cook until bacon is crisp. Remove to a paper towel lined plate and set aside.
Drain all but approximately 2 Tablespoons of bacon grease (you can eyeball it, no need to be exact! I like to use a ladle and ladle out the excess and pour it into a can to solidify before disposing of it).
Add butter to the pot with the remaining bacon grease and cook until butter is melted.
Add diced onion, red pepper, and jalapeno and cook, stirring occasionally, until softened (about 5 minutes).
Add garlic and cook until fragrant (about 30 seconds).
Sprinkle the flour over the vegetables and stir until it’s fully absorbed. Cook another 30 seconds longer to lightly toast the flour.
Stir in salt, pepper, smoked paprika, and ground mustard.
Slowly whisk in chicken broth until completely combined.
Add water, milk, cream, potatoes, chicken breast, and corn. Bring mixture to a boil and cook until the potatoes are tender and the chicken is cooked through.
Once chicken is cooked through, remove to a plate and shred or dice. Set aside and keep warm (I usually cover with foil).
Use an immersion blender to puree approximately half of the soup (see note if you do not have an immersion blender).
After pureeing, return chicken to the pot. Stir reserved bacon back into the pot (or to preserve its crispness, serve soup topped with bacon crumbles, but don’t skip the bacon entirely, it adds so much flavor!).
Taste-test the soup, adding more salt/pepper as needed (any soup that tastes a bit bland almost always needs a few shakes more salt!)
Serve warm with desired toppings and enjoy!