Peel and cut potatoes into 1/2-inch cubes, cut broccoli into small 1/2-inch florets, dice the yellow onion, mince garlic cloves, and chop bacon into 1/4-inch bits. In a large pot over medium heat, cook the bacon for 8-10 minutes, stirring occasionally, until it's crispy and golden. Remove bacon with a slotted spoon and set aside on a paper towel, leaving the rendered fat in the pot—this flavorful fat will be your cooking base for the aromatics.
Add the diced onion to the pot with the bacon fat and cook over medium heat for 3-5 minutes, stirring occasionally, until softened and translucent. Add the scallion whites (reserving the green tops for garnish), minced garlic, and black pepper, cooking for another minute until fragrant. This layering of aromatics creates a deeply flavorful foundation for the soup.
Pour in the chicken broth and add the prepared potato cubes and broccoli florets, stirring to combine. Bring the mixture to a simmer over medium-high heat, then reduce heat to medium-low, cover with a lid, and simmer gently for 10-15 minutes until the potatoes are completely tender when pierced with a fork. I find that covering the pot traps steam and ensures the vegetables cook evenly without overcooking the broccoli.
Turn off the heat and add the shredded cheddar cheese and cream, stirring gently but thoroughly until the cheese is completely melted and the soup is creamy and smooth. The residual heat will melt the cheese without scorching it—avoid high heat here as it can cause the cheese to become grainy or separated. Taste and adjust seasoning with salt and additional black pepper as needed.
Stir in the smoked paprika and cayenne pepper, which add warmth and subtle smokiness without overpowering the cheese flavor. Add the cooked bacon back into the pot and stir to distribute evenly throughout the soup. I like to taste one more time and adjust salt if needed—the bacon and broth provide saltiness, so be careful not to over-season.
Ladle the soup into bowls and top each serving with a dollop of sour cream and a sprinkle of the reserved scallion greens. Serve immediately with crusty bread for dipping.