Creamy Potato Soup

As the potatoes simmer, the broth turns cloudy and silky, and the pot starts smelling like softened onion and garlic. That’s when I know this Creamy Potato Soup will have body without needing a blender. The flour gives the broth a smooth base, and the potatoes add their own starch as they cook.

I like that the finished soup still has distinct pieces of potato instead of feeling like a puree. A quick mash against the side of the pot thickens it while keeping plenty of tender chunks in every spoonful. With whole milk and cream stirred in at the end, it finishes rich and mellow, with no fussy extra steps between you and a warm bowl.

Creamy Potato Soup with tender, chunky potatoes
“

Kitchen Note

Keep the potato cubes close to the same half-inch size. Similar-sized pieces become tender at about the same time, so check one of the larger cubes before you start mashing.

Save this Creamy Potato Soup for its silky broth and tender potato chunks, all made in one Dutch oven.

Save to Pinterest

Why This Soup Gets Creamy Before the Milk Goes In

It’s easy to assume the milk and cream are responsible for all the thickness, but they’re the finishing touch, not the foundation. The flour is stirred into the butter and softened onion before the broth goes in. Once the broth is whisked in gradually, that flour disperses through the liquid and gives the soup a smooth, lightly thickened base.

The potatoes then contribute more body as they simmer. Russets are especially helpful here because they soften readily and release starch into the broth. Crushing some of them at the end brings that starch into the soup without turning every piece into puree. The result is creamy but still has a spoonful of potato texture.

Adding the dairy after the potatoes are tender keeps it from having to simmer for the full cooking time. Heat the finished soup gently until it’s steaming, and stop before it boils. That gentle finish preserves the smooth texture you built in the pot.

Why Russets, Flour, and Whole Milk Matter in This Pot

Creamy Potato Soup with creamy, thick potato chunks
  • Russet potatoes — Their starchy flesh softens into the broth and helps the soup thicken when some of the cooked pieces are crushed. Peel them for the smoothest texture; waxier potatoes tend to hold their shape more firmly and make a less thick soup.
  • All-purpose flour — Flour gives the broth a steady, smooth body before the potatoes have cooked. The everyday pantry version works well; stir it into the butter and onion until it’s coated and cook it briefly before adding liquid so the soup doesn’t taste floury.
  • Whole milk and heavy cream — Whole milk brings dairy richness without making the soup as heavy as cream alone, while the cream gives the finish a fuller feel. Two-percent milk works if that’s what you have, though the soup will be less rich; half-and-half can replace the cream for a lighter finish.
  • Low-sodium chicken broth — It provides the savory base and leaves room for the measured kosher salt to season the soup. For a meat-free version, low-sodium vegetable broth works in the same quantity, though the flavor will be less chicken-forward.
  • Yellow onion and garlic — The onion softens into a gentle savory base, and a short cook for the garlic keeps its flavor fragrant rather than harsh. A regular yellow onion and everyday fresh garlic are both fine here; there’s no need to seek out specialty varieties.

Build the Broth First, Then Let the Potatoes Set the Texture

Soften the Onion in Butter

Melt the butter in a 5-quart Dutch oven over medium heat, then add the diced onion. Cook for 5 to 7 minutes, stirring occasionally, until the pieces are soft. Keep the heat moderate; the goal is a softened onion, not browned edges that would take the soup in a more roasted direction.

Cook the Garlic and Flour

Stir in the minced garlic and cook for 30 seconds, just until fragrant. Add the flour and cook for 1 minute, stirring so it coats the onion mixture rather than collecting in dry patches. If you see flour clinging to the bottom, keep stirring before you add the broth.

Whisk in Broth and Simmer the Potatoes

Gradually whisk in the chicken broth, working until the liquid looks smooth before adding the potatoes, salt, and pepper. Bring the pot to a boil, then reduce the heat and simmer uncovered for 15 to 20 minutes. The potatoes should be very tender when you test one with a fork; if the center still feels firm, give them more time within the stated range and check again.

Mash Part of the Potatoes and Finish Gently

Use a potato masher to crush about one-third of the potatoes against the side of the pot, leaving the rest in chunks. Stir in the milk and cream, then heat gently for 3 to 5 minutes, until the soup is steaming. Don’t let it boil after the dairy goes in; a steady gentle heat is all it needs to finish.

Three Ways to Adapt the Texture and Ingredients

Make It Meat-Free with Vegetable Broth

Replace the low-sodium chicken broth with the same quantity of low-sodium vegetable broth. The soup keeps its creamy potato base, but the savory flavor is milder and more vegetable-forward.

Use Dairy-Free Butter, Milk, and Cream

For a dairy-free pot, use dairy-free butter in place of the butter, unsweetened plain oat milk for the whole milk, and an unsweetened plant-based cooking cream for the heavy cream, using each in the same quantity. The soup will still be creamy, though the plant-based products bring a different, sometimes slightly sweeter taste.

Leave More Potato Pieces Whole

For a more rustic bowl, mash less than the usual one-third of the potatoes. You’ll keep more distinct chunks, and the broth will be a little less thick. This change works best if the potatoes are very tender before you mash.

Storage and Reheating

  • Refrigerator: Keep the soup in a covered container for 3 to 4 days. It will thicken as it chills.
  • Freezer: Freeze in airtight containers for up to 2 to 3 months. The potatoes and dairy may separate or turn a little grainy after thawing, so the texture won’t be quite as smooth as freshly made.
  • Reheating: Warm it gently on the stovetop, stirring often, until it reaches 165°F. Stir in a little broth or milk if it has thickened; boiling it to heat faster can make the dairy texture less smooth.

Questions That Come Up When Making Creamy Potato Soup

Can I leave the potato skins on?+

You can, but the soup will have a more rustic texture, with skins visible in the finished bowl. Peeling the potatoes gives the broth a smoother, more cohesive feel when some of the pieces are mashed.

Why did my potato soup turn gluey?+

Potatoes can become gluey when they’re aggressively blended, which releases too much starch. Use a potato masher and crush only part of the potatoes so the soup thickens while the remaining pieces stay intact.

Can I use salted butter instead of unsalted?+

Yes, but salted butter adds salt on top of the kosher salt and broth, so the finished soup may taste saltier. Unsalted butter gives you the closest match to the intended seasoning.

Can I use regular chicken broth instead of low-sodium?+

Yes, though regular broth can make the soup saltier because it contains more sodium. Low-sodium broth gives you better control over the final seasoning, especially alongside the added kosher salt.

Can I peel and cut the potatoes ahead?+

Yes. Keep the peeled, cut potatoes submerged in cold water in the refrigerator until you’re ready to cook, then drain them well before adding them to the pot. This keeps the cut surfaces from discoloring while you prepare the other ingredients.

Creamy Potato Soup

Creamy potato soup is made in a 5-quart Dutch oven with russet potatoes, broth, milk, and cream. Mashing about one-third of the potatoes gives the soup a thick texture while leaving plenty of tender chunks.
Prep Time 15 minutes
Cook Time 29 minutes
Total Time 44 minutes
Servings: 6 servings
Course: Dinner
Cuisine: American
Calories: 390

Ingredients
  

  • 4 tbsp unsalted butter
  • 1 yellow onion medium, diced
  • 2 cloves garlic minced
  • 0.25 cup all-purpose flour
  • 4 cups low-sodium chicken broth
  • 2 lb russet potatoes peeled and cut into 1/2-inch cubes
  • 1 tsp kosher salt
  • 0.25 tsp black pepper
  • 2 cups whole milk
  • 0.5 cup heavy cream

Equipment

  • 1 5-quart Dutch oven

Method
 

  1. Melt the butter in a 5-quart Dutch oven over medium heat.
  2. Add the onion and cook for 5 to 7 minutes, stirring occasionally, until softened.
  3. Stir in the garlic and cook for 30 seconds.
  4. Stir in the flour and cook for 1 minute.
  5. Gradually whisk in the broth until smooth.
  6. Add the potatoes, salt, and pepper, then bring to a boil.
  7. Reduce the heat and simmer uncovered for 15 to 20 minutes, until the potatoes are very tender.
  8. Use a potato masher to crush about one-third of the potatoes against the side of the pot, leaving some chunks.
  9. Stir in the milk and cream.
  10. Heat gently for 3 to 5 minutes, until steaming; do not let the soup boil.

Notes

For a thicker soup, mash about one-third of the potatoes and leave the rest chunky. Refrigerate leftovers for up to 4 days; freezing is not recommended because the potatoes and dairy may change texture. For a dairy-free swap, use unsweetened plant-based milk and cream and a dairy-free butter alternative.
RECIPE AUTHOR

By Alina

Explore more recipes from this contributor.

Leave a Comment

Recipe Rating