Crisp the bacon. Set a heavy pot or Dutch oven over medium heat. Cook the bacon until crisp, 7–9 minutes.
Transfer to a paper towel–lined plate. Leave 1–2 tablespoons of bacon fat in the pot and discard the rest, or save for another use.
Sweat the aromatics. Add butter if the pot looks dry. Stir in onion, celery, and carrots.
Cook until soft and glossy, about 5–7 minutes, stirring often. Add garlic and cook 30 seconds until fragrant.
Build a light roux. Sprinkle flour over the vegetables. Stir constantly for 1 minute to cook off the raw taste.
This helps thicken the chowder gently.
Add liquids and potatoes. Pour in the broth while stirring to avoid lumps. Add potatoes, bay leaf, thyme, smoked paprika, a pinch of salt, and several grinds of pepper. Bring to a gentle simmer.
Simmer until tender. Cook uncovered for 12–15 minutes, stirring occasionally, until potatoes are fork-tender.
Lightly mash a few potatoes against the side of the pot to thicken the chowder naturally.
Finish with dairy. Lower the heat to avoid boiling. Stir in milk and cream. Simmer gently for 3–5 minutes to warm through.
Taste and adjust seasoning. If using cheddar, add it now and stir until melted.
Brighten and add bacon. Stir in a splash of white wine or cider vinegar if you want a little lift. Crumble most of the bacon into the pot, reserving some for garnish.
Serve. Ladle into bowls.
Top with remaining bacon and a shower of chopped chives or green onions. Add more black pepper if you like a peppery finish.