Place a 7-quart Dutch oven over medium heat and pour in the olive oil. Once the oil it hot, add the onion and bell peppers and cook until softened, about 5-8 minutes.
Stir in the corn, potatoes, and chicken stock. Bring to a boil and then reduce to a simmer.
Cook for 10 to 20 minutes until the potatoes are tender.
While the potatoes cook, melt the butter in a small saucepan over medium heat. Whisk in the flour until smooth and cook for 1 minute to make a roux.
Slowly pour the milk into the roux while whisking so there are no lumps. Simmer the bechamel until thickened.
Add the bechamel sauce to the soup and stir until combined.
Transfer 4 cups of soup to a bowl (or to a blender) and puree with an immersion blender. Pour the blended soup back into the pot. (see note)
Check the seasoning and add salt and pepper to taste. Add the bacon crumbles to the soup and stir. Serve warm with chives sprinkled on top for garnish, if desired.
Notes
If you buy low-sodium chicken stock, you will definitely need to season with salt to taste. If you buy regular chicken stock, check the soup before adding more salt.
I usually cook the bacon while the potatoes are simmering and the bechamel is cooking. This helps cut down on the overall pre-prep time.
Pureeing some of the soup and pouring it back into the pot helps to thicken the soup base. This is optional if you like a thinner soup. You could also puree the soup with the immersion blender right in the pot until it's thickened to your liking. Just know that there will be fewer chunks of veggies to enjoy.