This potato soup recipe stays creamy because of one rule I stopped breaking: mash less than you think. Half the pot gets the masher, the rest stays in soft chunks, and a proper flour roux plus real cheddar handle the body from there. It is a one-pot weeknight soup that eats like a loaded baked potato, ready in about 45 minutes with ingredients you probably already have.
The usual failure is gluey texture from over-mashing or boiled dairy, and the fix is built into the steps below. If you want another cozy bowl for the rotation, my chicken pot pie soup follows the same gentle-dairy logic, and a slice of cornbread next to either one never hurts.
Ingredients
- 6 slices thick-cut bacon, chopped
- 3 tablespoons unsalted butter
- 1 medium yellow onion, diced
- 2 garlic cloves, minced
- 1/4 cup all-purpose flour
- 4 cups chicken broth
- 2 1/2 cups whole milk
- 2 1/2 pounds russet potatoes, peeled and cut in 3/4-inch cubes
- 1 teaspoon kosher salt, plus more to taste
- 1/2 teaspoon ground black pepper
- 3/4 cup sour cream
- 1 1/2 cups sharp cheddar cheese, freshly grated
- 2 green onions, thinly sliced
Instructions
- Crisp the bacon: Add the chopped bacon to a large Dutch oven over medium heat. Cook about 6 minutes, stirring now and then, until browned and crisp at the edges. Scoop it onto a plate and pour off all but 1 tablespoon of the grease.
- Build the base: Add the butter to the pot and stir in the diced onion. Cook 4 minutes until soft and translucent, then add the garlic for 30 seconds until fragrant. Sprinkle in the flour, stir to coat everything, and cook a full minute until it smells faintly nutty.
- Add liquids and potatoes: Pour in the chicken broth and milk, stirring to dissolve the roux with no dry pockets. Add the cubed potatoes, salt, and pepper. Bring to a gentle simmer, not a rolling boil, so the milk stays smooth.
- Simmer until tender: Cover and simmer 18 to 20 minutes, until a fork slides easily into the largest cube. If any piece resists, give the pot 3 more minutes and test again before you touch the dairy.
- Mash lightly: Use a potato masher right in the pot and press down 5 or 6 times, just enough to break up about half the potatoes. You want a creamy base with plenty of soft chunks left, because the remaining cubes keep the soup from eating like baby food. Stop early. You can always mash more on the second bowl, but you cannot unmash what is already glue.
- Finish with dairy and cheese: Lower the heat until the soup barely trembles. Stir in the sour cream, then add the grated cheddar a handful at a time, letting each melt before the next. Taste, adjust salt, and serve with bacon, extra cheddar, and green onions on top.
When the texture goes wrong
- Gluey and pasty means the potatoes got overworked. Mash only about half the pot and stop as soon as it looks creamy with visible chunks. An immersion blender left running turns potato starch into wallpaper paste, so use it in short two-second pulses if you use it at all. If the damage is done, thin the pot with warm broth and stir in an extra handful of cheese. It will not fully fix the texture, but it gets the soup back to edible.
- Thin and watery usually means the roux never cooked or the ratio slipped. Let the flour cook in the fat a full minute until it smells faintly nutty, and measure both the flour and the milk. Eyeballing either one is how thin soup happens. If your pot still looks watery after mashing, simmer it uncovered 5 minutes to reduce, or mash a few more cubes. Both beat dumping in extra flour at the end, which tastes raw no matter how long you stir.
- Grainy after the cheese goes in means the heat was too high. Take the pot off a hard simmer before you add cheddar and sour cream, then stir until just melted. Boiled dairy splits and no amount of stirring brings it back. Keep the burner at the lowest setting from the moment the milk goes in, and never walk away while cheese is melting. A bare tremble on the surface is the hottest this soup should ever get after step 3.
- Bland bowls almost always trace back to under-salted broth. Salt the soup after the potatoes turn tender but before the dairy goes in, then taste again at the end. Potatoes absorb a surprising amount of salt while they simmer. If the finished bowl still tastes flat, a squeeze of lemon or a dash of hot sauce wakes it up faster than more salt. Acidity and heat read as flavor when your tongue is bored by starch.
- Potatoes still hard after 20 minutes means the cubes were cut too big or mixed sizes. Keep every cube near three quarters of an inch. One big chunk throws off the whole pot because everything else overcooks while you wait on it.
- Soupy by day two happens when the potatoes keep drinking liquid overnight. Reheat leftovers gently with a splash of milk or broth stirred in, and the texture comes right back.
Toppings that earn their place
- Crisped bacon bits, cooled on a plate so they stay crunchy instead of steaming soft.
- Sharp cheddar grated fresh from a block. Bagged shreds carry anti-caking starch that melts grainy, and in a soup this smooth you will notice every bit of it.
- A small spoon of sour cream per bowl, stirred in at the table so it stays cool and tangy.
- Sliced green onions for color and a mild bite that cuts through the richness. Add extra crispy bacon crumbled over each bowl rather than stirring it all into the pot, so every serving gets crunchy bits instead of chewy ones.
Refrigerate leftovers in an airtight container for up to 4 days. The soup thickens overnight as the potatoes absorb liquid, so stir in a splash of milk or broth while reheating gently on the stove. I do not freeze the finished dairy version because the milk and cheese separate on thawing, and the thawed soup stays a little grainy even after whisking. The base without dairy freezes beautifully, so For freezer meals, cook a double batch of potatoes in broth, freeze half flat in bags, and finish it with fresh dairy on serving day.
FAQ
Can you freeze potato soup?
The finished dairy version does not freeze well because the milk, sour cream, and cheddar separate and turn grainy on thawing, so I refrigerate it and eat it within 4 days. If you want a freezer batch, cook the potato-broth base without dairy, freeze that flat in bags for up to 3 months, then add the milk, sour cream, and cheese fresh when you reheat.
Russet or Yukon Gold potatoes?
Russets break down a little at the edges and give you that thick, creamy body without much mashing, which is what I want here. Yukon Golds hold their shape better, so pick them if you like distinct potato chunks floating in a thinner broth. Red potatoes work but stay firmer and waxier, so the soup never gets quite as creamy.
Can I make this potato soup vegetarian?
Yes, with two easy swaps in the base. Cook the onion and garlic in butter instead of bacon grease, swap the chicken broth for a good vegetable broth, and keep the roux, milk, sour cream, and cheddar exactly as written. The roux and cheese carry the body, so nobody misses the bacon, and the pot stays rich enough that guests will not guess anything is missing. Top with extra cheddar and green onions.



