Some soups are just soup. This one is basically a hug in a bowl.
I started making this on a trip back from somewhere cold and gray (I genuinely don’t even remember where), and now it’s the first thing I crave the second the temperature drops below 60.
It’s not fancy. It’s not trying to be a “restaurant-quality” anything. It’s just creamy, buttery, loaded with potatoes, and done in under an hour. 🥔
I’ve made versions of this soup probably fifty times at this point. I’ve messed it up plenty (grainy texture, too thin, way too salty one memorable Thanksgiving), so by now I’ve got it down to something pretty foolproof.
You don’t need any special equipment. You don’t need ingredients from a specialty store. You need a pot, some potatoes, and about 45 minutes of your evening.
That’s the whole pitch. Let’s get into it.
What You’ll Need
Here’s everything going into the pot. Nothing weird, nothing you’ll need to special order.
- 2 lbs russet potatoes, peeled and cubed
- 4 tbsp butter
- 1 small yellow onion, diced
- 3 garlic cloves, minced
- 1/3 cup all-purpose flour
- 4 cups chicken broth (or vegetable broth)
- 1 cup whole milk
- 1 cup heavy cream
- 1 tsp salt (plus more to taste)
- 1/2 tsp black pepper
- 1/2 cup shredded cheddar cheese
- 1/3 cup sour cream
- Optional toppings: bacon bits, green onions, extra cheese, cracked pepper
That’s it. Thirteen ingredients and most of them are already in your kitchen.
Tools You’ll Need

- Large pot or Dutch oven
- Wooden spoon or whisk
- Cutting board and knife
- Measuring cups
- Ladle
- Immersion blender (optional, more on that below)
Pro Tips
I’ve made this soup more times than I can count, so here’s what actually matters.
1. Don’t skip the roux. That flour and butter combo at the start is what gives this soup its thick, velvety texture. Skip it, and you’ll end up with potato water with cream in it.
2. Russets over reds, every time. Russets break down beautifully and get that fluffy, almost-mashed-potato texture. Red potatoes hold their shape too much and the soup ends up weirdly chunky in a way that doesn’t work here.
3. Low and slow with the dairy. Add your milk and cream after you turn the heat down. Boiling cream is how you end up with a grainy, separated mess. Nobody wants that.
4. Taste before you salt again. Broth and cheese both bring salt to the party. Taste at the end before adding more, or you might overdo it.
5. Texture is a choice, not an accident. Want it silky smooth? Use an immersion blender on half the pot. Want it rustic and chunky? Just mash some potatoes against the side of the pot with your spoon. Both are correct.
I’ve served this both ways at dinner parties and gotten compliments either time. Nobody’s complaining about a potato soup having “too much texture.”
How to Make It
Step 1: Cook the onion and garlic. Melt the butter in your pot over medium heat. Add the diced onion and cook for about 4 minutes, until it’s soft and translucent. Toss in the garlic for the last minute, just until fragrant.
Step 2: Make your roux. Sprinkle in the flour and stir constantly for about 2 minutes. It’ll look pasty and smell a little nutty. That’s exactly what you want.
Quick fact that surprised me the first time I learned it: this same roux technique is the base for gumbo, chowder, and most gravies. Once you’ve got it down, a whole world of recipes opens up.
Step 3: Add the broth. Pour in the chicken broth slowly, whisking as you go so the roux doesn’t clump up. Keep whisking until it’s smooth.
Step 4: Add the potatoes. Drop in your cubed potatoes, salt, and pepper. Bring everything to a boil, then reduce the heat and let it simmer for 15 to 20 minutes, until the potatoes are fork-tender.
Step 5: Bring in the dairy. Turn the heat down to low. Stir in the milk and heavy cream. Let it warm through gently for about 5 minutes. Don’t let it boil.
Step 6: Blend (or don’t). If you want it smooth, use an immersion blender directly in the pot, or blend half the soup and leave the rest chunky. If you like it rustic, just mash some potatoes with your spoon instead.
Step 7: Add the cheese and sour cream. Stir in the cheddar until melted, then mix in the sour cream. This is where the soup goes from “good” to “I need the recipe.”
Step 8: Taste, adjust, serve. Add more salt or pepper if needed. Ladle into bowls and top with bacon, green onions, extra cheese, or all three.
Substitutions and Variations
This recipe is forgiving. Here’s how to make it your own.
| Swap This | For This | Why It Works |
|---|---|---|
| Heavy cream | Half and half | Lighter, still creamy |
| Whole milk | Oat milk | Dairy-light, still smooth |
| Bacon | Turkey bacon | Lower fat, same crunch |
| Cheddar | Pepper jack | Adds a little heat |
| Chicken broth | Vegetable broth | Fully vegetarian |
| Russets | Yukon gold | Slightly buttery flavor |
Want to bulk it up? Add a cup of cooked, shredded chicken or some crispy chorizo. It turns this from a side soup into a full dinner fast.
A few other twists I’ve tried and loved:
- Loaded baked potato style: Pile on extra cheese, bacon, and a drizzle of ranch.
- Roasted garlic version: Roast a whole head of garlic and squeeze it into the pot instead of using raw cloves. Sweeter, deeper flavor.
- Spicy kick: A pinch of cayenne or a few dashes of hot sauce in the bowl works surprisingly well against all that creaminess.
Make Ahead Tips
This soup actually gets better with a little time, which makes it a great one to prep ahead.
- Make it up to 2 days ahead and store it in the fridge. The flavors deepen overnight.
- Hold off on adding the sour cream until you’re ready to serve, especially if reheating. It blends in smoother that way.
- Want to freeze it? Skip the dairy until after thawing. Cream-based soups can separate in the freezer.
Leftovers and Storage
- Fridge: Store in an airtight container for up to 4 days.
- Freezer: Freeze the potato and broth base (without dairy) for up to 3 months. Add cream and cheese after reheating.
- Reheating: Warm on the stove over low heat, stirring often. Add a splash of broth or milk if it’s thickened too much.
Avoid microwaving in short, low bursts if you can. Slow and gentle keeps the texture intact.
Nutritional Breakdown (Per Serving)
This recipe makes about 6 servings.
| Nutrient | Amount |
|---|---|
| Calories | ~360 |
| Protein | 9g |
| Carbs | 32g |
| Fat | 22g |
| Fiber | 3g |
Numbers will shift slightly depending on toppings and milk/cream swaps.
Meal Pairing Ideas
This soup loves a little something on the side. A few of my go-tos:
- Crusty sourdough bread for dipping
- A simple arugula salad with lemon vinaigrette
- Grilled cheese, because some combinations are just unbeatable
- Roasted broccoli if you want something green on the plate
FAQ
Can I make this soup vegetarian? Yes. Swap the chicken broth for vegetable broth and you’re set. Everything else is already vegetarian-friendly.
Why is my soup too thin? You probably need a little more roux, or you didn’t simmer long enough for the potatoes to break down and thicken things naturally. Let it simmer a few extra minutes.
Why is my soup grainy? This usually happens when the dairy gets boiled. Keep the heat low once you add the milk and cream.
Can I use a slow cooker? Yes. Cook the potatoes, broth, onion, and garlic on low for 6 hours, then stir in the dairy and cheese at the very end.
Is this soup gluten-free? Not as written, since it uses flour for the roux. Swap in a 1:1 gluten-free flour blend or cornstarch slurry instead.
Can I double the recipe? Yes, and you probably should. This soup disappears fast, especially with toppings on the table. Just use a bigger pot and give it a few extra minutes to come back up to temperature after adding the potatoes.
Why does my soup taste bland? This usually comes down to salt or time. Let it simmer the full 15 to 20 minutes so the flavors actually develop, and don’t be shy with the salt at the end. A pinch more often makes a bigger difference than you’d expect.
Wrapping Up
This is one of those recipes that doesn’t need a special occasion. Make it on a random Tuesday. Make it when it’s raining. Make it because you want something warm and you don’t want to think too hard about dinner.
If you try it, come back and tell me how it turned out. I want to know if you went smooth or chunky, what toppings you piled on, and whether anyone asked for seconds.
Drop a comment below with your version, or any questions before you get started. I read every single one.