Cook the Bacon. In a large Dutch oven over medium-low heat, cook the bacon until crispy on both sides, flipping halfway through. Transfer to a plate to cool, then chop. Remove about half the bacon fat, leaving the rest in the pot.
Caramelize the Onions. Add the butter and diced onion to the reserved bacon drippings. Cook for about 10 minutes, stirring occasionally, until the onions are deeply softened and beginning to caramelize. Add the celery and cook until softened, then stir in the garlic and cook for another 30 seconds until fragrant.
Build the Creamy Broth. Add the black pepper and sprinkle the flour over the vegetables. Stir continuously for 1–2 minutes. Gradually whisk in the chicken stock, whole milk and heavy cream, scraping up any browned bits from the bottom of the pot. Stir in the chili powder, smoked paprika and chicken bouillon.
Simmer the Potatoes. Add the diced russet and Yukon Gold potatoes. Increase the heat to medium and bring to a gentle boil, then reduce to a gentle simmer. Cook for 10–12 minutes, stirring occasionally, until the potatoes are fork-tender.
Blend Until Thick and Creamy. Using an immersion blender, make 8-10 slow, circular passes through the soup until the broth becomes thick and velvety, leaving plenty of tender potato chunks. (Alternatively, you can blend half the soup in a blender, then return to the pot, but be careful as the mixture is hot.)
Add the Cheese and Sour Cream. Reduce the heat to low and gradually stir in the shredded sharp cheddar until melted. Remove the pot from the heat and stir in the room-temperature sour cream until smooth.
Finish with Crispy Bacon. Stir in most of the chopped bacon, reserving some for topping. Taste and adjust the seasoning as needed.
Serve with All the Toppings. Ladle the soup into bowls and top with reserved crispy bacon, extra shredded cheddar, sour cream and fresh chives.