Cook bacon in the pot over medium heat until crisp, about 8 minutes. Remove bacon with a slotted spoon and leave 2 tbsp of bacon fat in the pot.
Add onion to the hot fat and sauté until translucent and fragrant, 4-5 minutes. You should smell sweet onion aromatics rising.
Sprinkle flour over the onion, stir constantly for 1 minute to cook the raw flour taste and form a light roux.
Slowly pour in chicken broth while whisking to avoid lumps. Bring to a simmer, the surface will show small bubbles and steam.
Add diced potatoes and 1 tsp salt. Simmer until potatoes are tender when pierced, 12-15 minutes. Potatoes will soften and release starch into the liquid.
Reduce heat to low and stir in milk or cream. Heat gently until steaming, do not boil to prevent curdling; the texture should turn velvety.
Use an immersion blender to pulse the soup until partly smooth, leaving some potato chunks for texture, or transfer half to a blender and return.
Stir in cooked bacon (reserve a little for garnish), adjust seasoning with salt and pepper. Finish with chopped chives for a fresh, green aroma.