Gather all ingredients.
Place bacon in a large skillet and cook over medium-high heat, turning occasionally, until evenly browned, about 8 to 10 minutes.
Drain bacon slices on paper towels; crumble and set aside.
Meanwhile, melt butter in a stockpot or Dutch oven over medium heat.
Gradually add flour, whisking until well-combined.
Slowly pour in milk, whisking constantly until smooth and thickened.
Add potatoes and onions and bring to a boil, stirring frequently.
Reduce heat and simmer for 10 minutes.
Stir in crumbled bacon, Cheddar cheese, sour cream, salt, and pepper.
Continue cooking and stirring until cheese is melted.
