There’s something very comforting about a big pot of potato soup — warm, thick, and forgiving. I make this kind of soup when I want something that smells like home as soon as it simmers: butter and onion up front, a little bacon crackling, then the slow breathy steam of potatoes breaking down into a silky base. Potato soup is one of those dishes that turns out a little different every time depending on the potato, the broth, and whether I mash a few chunks for body or blend it super-smooth. In this post I’ll walk you through a classic, reliably creamy version that uses a roux for body and keeps a few potato chunks for texture. For a classic, tried-and-true version with step-by-step photos, see our Delicious Creamy Potato Soup.
I’m a home cook who tests tweaks to this bowl every few months — sometimes adding extra cheese for a decadently cheesy finish, other times skipping the cream and stretching it with more broth for a lighter weeknight meal. This version is the one I keep coming back to: it’s thick enough to cling to a spoon, but still spoonable and satisfying. You’ll find notes below about common hiccups I see in kitchens and how to fix them (spoiler: salt and texture adjustments save many bowls).
Ingredients Needed
- Potatoes – the heart of the soup; Yukon Golds give a creamy, waxy texture and hold their shape, while Russets will break down into a fluffier, mashier body.
- Bacon – adds smoky, savory pops; you can omit for vegetarian or swap for smoked paprika and mushrooms for a similar umami lift.
- Butter – builds flavor and helps make the roux; use vegan butter to make it dairy-free.
- Onion – provides a sweet aromatic base when sautéed slowly until tender.
- Garlic – a little goes a long way; cooks quickly and turns sweet if timed right.
- Flour – used to make a roux with the butter so you don’t have to rely on heavy cream for thickness; gluten-free 1:1 works fine if needed.
- Milk – gives creaminess without being too heavy; swap with unsweetened plant milk for dairy-free versions.
- Broth – chicken or vegetable broth builds savory depth; low-sodium works if you’re watching salt.
- Cheddar cheese – melts into the soup for savory richness; try mild or sharp depending on how tangy you like it.
- Sour cream – adds tang and smoothness; Greek yogurt is a good swap for a lighter finish.
- Salt & pepper – essential seasoning; add gradually and taste — potatoes can hide salt so finish the bowl at the end.
- Green onions (scallions) – bright, oniony garnish that adds freshness at the end.
Easy Cooking Instructions
I follow these steps every time I make the soup. Read through once so you know the rhythm — there are quick transitions where a pan goes from too hot to perfect, and timing the garlic and flour matters.
- Start the potatoes: Place peeled and cubed potatoes in a stockpot and cover with about an inch of water. Add a pinch of salt and bring to a simmer. Cook for about 8–10 minutes, or until a knife pierces the cubes easily. I keep an eye on them because overcooking will make them disintegrate; undercooking gives you hard chunks. Drain and set aside. Tip: uniform cube size (about 1-inch) ensures they cook evenly.
- Cook the bacon: While the potatoes simmer, sauté bacon in a Dutch oven over medium heat until crispy. Transfer the cooked bacon to a plate, leaving about 1 tablespoon of bacon grease in the pot. That little spoonful carries a lot of flavor; if you’re skipping bacon, use an extra tablespoon of butter or olive oil.
- Sauté onion and garlic: Add butter to the pot with the reserved bacon fat and melt over medium-low heat. Add chopped onion and cook slowly until soft and translucent — about 5–7 minutes. This slow cook turns sharp raw onion into sweet, aromatic base notes. Add minced garlic and cook 30 seconds until fragrant; it should smell warm and almost sweet rather than sharp. If the garlic browns, it’ll taste bitter, so keep the heat moderate.
- Make the roux and add liquids: Sprinkle in flour and whisk quickly to combine with the butter and onions, cooking for about 1 minute to remove the raw flour taste. Then slowly whisk in the milk and broth, a little at a time, until smooth. Bring the mixture to a gentle boil — you’ll see it thicken and change from thin to velvety in a minute or so. If the liquid stays lumpy, keep whisking off heat; often a few vigorous stirs solve it.
- Add potatoes and season: Fold the drained potatoes into the pot, then season with salt and pepper to taste. I usually start with a teaspoon of salt total for the pot and adjust at the end — potatoes will taste flat until you finish seasoning. Simmer for a few minutes to let flavors marry.
- Finish with dairy and cheese: Stir in sour cream, shredded cheddar, and half of the cooked bacon. Bring back to a gentle boil just to melt the cheese, then remove from heat. The soup will look glossy and will thicken a little as it cools. If your cheese clumps, it was likely added to a boiling, too-hot pot — pull it off the heat and stir until smooth. Serve topped with the remaining bacon and sliced green onions.
Equipment notes: a heavy-bottom Dutch oven or large saucepan is ideal for even heat; a sturdy whisk helps keep the roux lump-free. If you want an ultra-smooth soup, a stick blender on low, pulsed twice or three times, will smooth some of the potatoes without turning the whole pot into puree.
Healthy Variations
There are lots of ways to lighten this soup without losing comfort. I test variations when I’m trying to shave calories or add veggies to my kid’s dinner. Here are reliable swaps that still deliver on flavor and texture.
- Reduce dairy – replace whole milk with low-fat milk or unsweetened oat/almond milk; use Greek yogurt instead of sour cream to keep tang with fewer calories.
- Make it dairy-free/vegan – use vegan butter and plant milk, vegetable broth, and swap cheese and sour cream for dairy-free alternatives or a splash of nutritional yeast for cheesiness. If you need more guidance, try our Creamy Vegan Potato Soup.
- Add vegetables – carrot and celery sautéed with the onion add fiber and flavor without overwhelming the potatoes; spinach stirred in at the end adds color and nutrients.
- Boost protein – stir in cooked shredded chicken or white beans for a higher-protein bowl; these both integrate well with the creamy base.
- Low-carb/keto approach – replace part or all of the potatoes with riced cauliflower or kohlrabi. Texture changes; cauliflower gives a similar mouthfeel but lighter carbs.
Using Slow Cooker or Instant Pot
Two shortcuts I use when I don’t want to hover at the stove: the Instant Pot for quick weeknight soup, or the slow cooker for set-it-and-forget-it comfort. Each method affects timing and when you add delicate ingredients like dairy.
- Instant Pot – Use Sauté mode to cook bacon and soften onions in the pot first, then add the cubed potatoes and broth. Lock the lid and pressure cook on High for 8–10 minutes depending on cube size. Quick release the pressure, then stir in milk, cheese, and sour cream off the heat so the dairy doesn’t curdle. This preserves a silky texture and keeps the cheese from becoming grainy. For general pressure-cooker timing and techniques that apply to many soups, check out our Instant Pot Chicken Wild Rice Soup post.
- Slow cooker – Add potatoes, broth, and sautéed onions (and bacon if you like) to the slow cooker. Cook on High for 3–4 hours or Low for 6–8 hours. Add milk, cheese, and sour cream during the last 30–60 minutes so dairy doesn’t break down and the cheese melts smoothly.
Serving Suggestions and Toppings
This soup performs well with toppings because the base is simple and creamy — a little crunch, acid, or herb brightens each spoonful. I often set out bowls of mix-ins so everyone can customize.
- Classic baked-potato style – shredded cheddar, chopped green onions, crumbled bacon, and a dollop of sour cream.
- Herby fresh – chopped chives, parsley, or dill for brightness.
- Spicy – a few dashes of hot sauce or sliced pickled jalapeños for heat.
- Crunch – crushed potato chips or toasted breadcrumbs add a nice textural contrast.
Serve your potato soup with warm homemade bread for the ultimate cozy pairing. A simple green salad with a bright vinaigrette is a great counterpoint if you want something lighter on the side.
Nutritional Information
For the standard version tested here (with bacon, butter, whole milk, cheese, and sour cream), a typical serving is about 2 cups and the nutrition per serving is approximately:
- Calories – ~428 kcal
- Fat – ~25 g (from bacon, butter, cheese, and sour cream)
- Carbohydrates – ~30 g (mainly from potatoes)
- Protein – ~22 g (from bacon and cheese)
Notes on how variations change the numbers: swapping whole milk for low-fat milk or a plant milk lowers calories and fat; omitting bacon and using vegetable broth reduces saturated fat and sodium. Adding lean protein (like shredded chicken or beans) raises protein and can make the bowl more filling without excessively increasing fats. If you need an exact breakdown for your customized version, I recommend using a nutrition calculator and entering your specific ingredient brands and amounts.
Frequently Asked Questions
- What type of potatoes work best for this soup?
Yukon Golds are ideal for a creamy texture and hold their shape; Russets work well if you want a fluffier, more mashable soup. Cut into even-sized cubes so they cook uniformly. - Can I make this potato soup dairy-free or vegan?
Yes — swap butter for vegan butter, use unsweetened plant milk (oat or almond) and vegetable broth, replace cheese and sour cream with dairy-free alternatives or nutritional yeast, and skip or use a plant-based bacon substitute. - How can I thicken the soup without heavy cream?
This recipe already uses a roux (butter + flour) with milk and broth to thicken. For thicker soup, mash some cooked potatoes in the pot, simmer longer uncovered, or stir in a cornstarch slurry (1 tbsp cornstarch + 1 tbsp cold water) and cook until thickened. - Can I make this in an Instant Pot or slow cooker?
Yes. Instant Pot: sauté bacon/onion using Sauté, add potatoes and broth, pressure cook 8–10 minutes, quick release, then stir in milk/cheese/sour cream off heat. Slow cooker: add potatoes, broth, sautéed onions and bacon, cook 3–4 hours on high or 6–8 hours on low, add dairy and cheese in the last 30–60 minutes. - How long will leftovers keep and can I freeze the soup?
Refrigerate in an airtight container for 3–4 days. Freeze up to 2–3 months — cool completely before freezing. Thaw overnight and reheat gently, stirring in a splash of milk if the texture is too thick. - Why did my cheese clump when I added it?
Cheese clumps when added to a pot that’s too hot. When melting cheese into soups, remove the pot from direct high heat and stir in the cheese gradually so it melts smoothly. Using shredded cheese rather than blocks also helps it integrate faster.
Final Tips From My Kitchen
I keep a small jar of reserved cooked bacon in the fridge for topping bowls all week — it crisps back up nicely in a 350°F oven for a few minutes. If your soup tastes flat, resist the urge to add sugar; a pinch more salt almost always balances the flavors. Texture-wise, I often mash about a cup of the cooked potatoes right in the pot with a potato masher — it thickens the soup naturally and gives a pleasing creaminess without overworking the roux.
Make it ahead: you can prepare the base (without cheese and sour cream) a day ahead, cool it, and refrigerate. Rewarm gently and stir in dairy at the end just before serving. If you’re serving a crowd, keep the toppings separated so everyone gets their preferred crunch or heat.
Over the years I’ve relied on this soup for sick days, late dinners, and when I want something that fills the room with a familiar smell. It’s forgiving, adaptable, and — most importantly — something you can make your own. Happy cooking, and don’t be afraid to tweak the salt, texture, and toppings to match what your family loves.

Potato Soup Recipe
Ingredients
Method
- Place sliced potatoes into a stockpot and completely cover with 1" of water. Season with ½ tsp salt and cook 8-10 minutes or until potatoes pierce easily with a knife then drain.
- Meanwhile, saute bacon in a Dutch oven until crispy and then transfer to a plate, reserving 1 Tbsp bacon grease in the pot.
- Add 4 Tbsp butter and chopped onions then saute until tender. Add garlic and cook another 30 seconds until fragrant.
- Quickly whisk in the flour then slowly add 2 1/2 cups milk and 2 1/2 cups broth, whisking constantly. Bring the mixture to a soft boil.
- Add drained potatoes and season soup with 1 tsp salt and 1/4 tsp pepper or season to taste.
- Stir in 3/4 cup sour cream, 1 cup shredded cheddar, and half of your cooked bacon (reserving the rest for serving). Bring to a boil then remove from heat and serve with your favorite toppings.