Creamy Potato Soup Recipe with Ham (Stovetop, 45 Min)

A thick, creamy potato soup loaded with smoky ham, russet potatoes, and sharp cheddar — ready in 45 minutes on the stovetop.
Why You'll Love This Recipe
- One pot, all stovetop. No blender, no oven, no slow cooker — just a Dutch oven and a wooden spoon.
- Ready in 45 minutes. Fast enough for a Tuesday, cozy enough for a snow day.
- Built around leftover ham. Turns those holiday scraps into a brand-new dinner everyone actually fights over.
- Roux-plus-mash thickening. You get a luxurious, spoon-coating broth without gluey blender texture.
- Endlessly customizable. Lean loaded-baked-potato, slow-cooker, or dairy-free with simple swaps.
- Meal-prep and freezer friendly. Portion it for lunches or stash the base for an instant weeknight dinner later.
This creamy potato soup recipe is the kind of bowl I make on the first chilly Sunday of the season, the night before a snowstorm, or any time there's a hunk of leftover holiday ham staring at me from the fridge. It's silky, hearty, gently smoky, and finished with a generous fistful of sharp cheddar that melts into the broth like it was always meant to be there. Best of all, it goes from cutting board to bowl in 45 minutes, entirely on the stovetop — no blender, no oven, no slow cooker required.

Most diner-style versions lean either thin and brothy or so thick they could pass for mashed potatoes. This one lives right in the middle: a buttery roux gives the broth backbone, while a few mashed russet potatoes melt into the liquid and turn it velvety without any extra equipment. Add cubes of salty ham, a swirl of cream, and a snowdrift of cheese, and you've got a one-pot dinner that tastes like it simmered all afternoon — even though you started it after work.
Whether you're using leftover ham from Easter or a thick-cut deli slab from the grocery store, this ham and potato soup is the kind of recipe that quietly earns a permanent spot in the rotation. It bridges the homestyle classic with the loaded, cheesy soul of a diner counter favorite, and it plays nicely with slow cookers, dairy swaps, and whatever odds and ends you've got on hand.
Ingredients for Creamy Potato Soup with Ham

Pretty much everything in this pot is a pantry or fridge staple, which is part of why it lands firmly on my list of easy weeknight soups. Russet potatoes do the heavy lifting — their high starch content thickens the broth as they simmer, so you get that signature velvety body without a ton of cream. A couple cups of diced cooked ham, a yellow onion, fresh garlic, butter, all-purpose flour, chicken broth, whole milk, heavy cream, and sharp cheddar round out the lineup. A handful of fresh chives at the end keeps the bowl from feeling too heavy and adds that pop of green every cozy soup needs.
If you want a deeper, more savory backbone, this is a great place to use homemade chicken broth — even a quick batch simmered from a roasted chicken carcass adds layers a boxed broth just can't match. That said, a good low-sodium store-bought broth works beautifully in a pinch, and most weeknights it's what I reach for first. The ham itself is doing a lot of seasoning work, so don't worry too much about going gourmet on the broth.
The Best Potatoes to Use
Stick with russet potatoes when you want that classic, slightly-broken-down texture. They're starchy enough to thicken the soup as they cook and to mash smoothly against the side of the pot. Yukon Golds are a fine swap if you prefer a creamier potato that holds its shape better, though the broth won't get quite as thick on its own. Skip waxy red potatoes here — they stay too firm and tend to taste underdone next to the cream and cheese.
Choosing Your Ham
Almost any cooked ham works in this pot. Leftover bone-in spiral ham gives the deepest flavor since those caramelized edges add real character to the broth. A thick-cut slab of deli ham, cubed pancetta, or even diced Canadian bacon are all great stand-ins. If your ham is on the sweeter, glazed side, taste before adding much salt — glazed ham can push the seasoning balance pretty quickly.
Dairy and Thickener Options
The combination of whole milk and heavy cream gives the richest result without going overboard. You can swap in half-and-half for both, use evaporated milk for a slightly diner-style edge, or stretch the cream with extra broth for a lighter pot. The butter-flour roux is what really sets the texture, so don't skip it — even an extra tablespoon of flour can be the difference between a thin broth and that signature spoon-coating consistency.
How to Make Potato Soup Step by Step
The full numbered method lives in the recipe card below, but here's how the pot comes together at a high level so you can read the room while you cook.

Start by softening a diced yellow onion in melted butter until it's translucent and just starting to take on color, then stir in the garlic for the last minute. This is your flavor base, so don't rush it — fifteen seconds of patience here pays off in the final bowl. Sprinkle the flour over the buttery onions and let it cook for a full minute or two so the soup never tastes pasty. You want the raw flour smell to disappear and the mixture to take on a faint blonde tint.

Next, slowly stream in the broth, whisking as you go to keep the roux silky and lump-free. Add the diced russet potatoes, a generous pinch of salt, and a few cracks of black pepper, then bring everything up to a gentle simmer. Cook uncovered until the potatoes are fork-tender — usually 15 to 18 minutes depending on how small you diced them. Stir occasionally so nothing sticks to the bottom.

Here's the trick to a thick, spoon-coating texture without dragging out the blender: scoop a ladle or two of the cooked potatoes onto the side of the pot and mash them with a fork or sturdy wooden spoon, then stir them back in. You get the best of both worlds — soft chunks for texture and free starch for body. This single move is what separates this recipe from the thinner, brothier versions you might have tried before.

Pull the pot off the heat or drop the burner to low, then stir in the milk and cream so the dairy never sees a hard boil. Add the cubed ham and shredded sharp cheddar in handfuls, stirring after each addition until the cheese melts smoothly into the broth. Taste, adjust salt and pepper, and finish with a heavy shower of chives. From here, it's just a question of how generously you ladle.
What to Serve with This Stovetop Soup

A bowl of this stovetop soup can absolutely stand on its own, but a few simple sides turn it into a real dinner. A torn-off hunk of crusty sourdough or a warm buttermilk biscuit is non-negotiable in my house — you need something to mop the bowl with at the end. If you want to lean into the diner energy, a piece of buttery garlic bread is never a bad idea either, especially when you've got picky eaters at the table.

For balance, a sharp green salad cuts through the richness beautifully. Think arugula with lemon and shaved parmesan, or a simple butter lettuce salad with mustardy vinaigrette. And if you're feeding a crowd, set up a quick topping bar with extra shredded cheddar, crumbled bacon, sour cream, sliced scallions, pickled jalapeños, and crispy fried onions. It's the same trick that makes a loaded baked potato bar so fun, and it lets everyone customize their own bowl exactly how they like it.
This easy bridge between weeknight comfort and dinner-party-ready is exactly why I keep coming back to creamy soup recipes — they scale up effortlessly without ever feeling fussy, and they reheat like a dream the next day.
Why This Method Works
Potato soup recipes can fall apart in two predictable ways: a broken, grainy broth or a gluey, paste-like texture. The roux-plus-mash technique sidesteps both. The flour-and-butter roux gives you a stable, silky base that holds up to dairy without splitting, while mashing only some of the potatoes adds body without that overworked, blender-y texture you get when you puree the whole pot. The chunks that stay whole give every spoonful something to bite into.
The other quiet hero is temperature control. Once the milk, cream, and cheese go in, the pot should never see a hard boil — that's how you end up with curdled dairy and a separated, oily slick on top. Keep things at a gentle steam from there on out, stir often, and the soup stays glossy and smooth right through serving. If you're doubling the recipe, give yourself a wider pot so the heat distributes evenly without scorching the bottom.
Make-Ahead Notes for Busy Weeks

Like most leftover ham recipes, this one tastes even better on day two once the flavors have had time to settle in. I often make it on Sunday and portion it into glass containers for two or three weeknight lunches — the kind of low-lift planning that takes the edge off a busy Tuesday or Wednesday. The texture stays remarkably creamy as long as you reheat gently and don't let the pot return to a hard boil.
If you're cooking ahead for guests, you can simmer the soup through the potato-and-broth stage in the morning, then add the dairy and cheese just before serving. This keeps the texture pristine and gives you room to throw together sides without juggling a hot pot at the last minute. It's the same logic restaurants use to plate quickly during a rush — most of the work is done well before service starts.
A Bowl Worth Coming Back To
Whether you're using up Easter ham, looking for a low-effort Sunday supper, or chasing the comfort of a baked potato soup recipe without the long oven wait, this creamy potato soup hits every mark. It's flexible, freezer-aware, and has that diner-style warmth that makes everyone at the table go quiet for the first few bites. If you make it, I'd love to hear what toppings you went with in the comments — and if your family is anything like mine, you might want to double the batch from the start.
Expert Tips
- Mash some, leave some chunky. Pull out about a cup of cooked potatoes, mash them against the side of the pot, then stir them back in for the perfect balance of body and bite.
- Drop the heat before adding dairy. Milk, cream, and cheese should never hit a hard boil — once they go in, keep the pot at a gentle steam to avoid curdling and oily separation.
- Season in layers. Salt the broth, the dairy, and the finished pot separately, tasting each time. The ham brings its own salt, so build slowly.
- Shred your own cheese. Bagged pre-shredded cheddar is coated with anti-caking starch that can leave a grainy melt — a quick grate from a block makes a noticeable difference.
- Dice the potatoes evenly. Half-inch cubes cook through in 15 to 18 minutes; uneven chunks leave you with mushy small pieces and undercooked big ones.
Variations & Substitutions
This pot is a flexible base, so once you've nailed the master version, it's easy to spin it in whatever direction your week needs. A few favorites:
- Loaded baked potato soup style. Skip the ham, double the bacon, and finish each bowl with sour cream, scallions, and a heavy hand of cheddar for that steakhouse-side energy.
- Slow cooker version. Sauté the onion and roux on the stovetop, then transfer everything except the dairy and cheese to a slow cooker. Cook on low for 6 to 7 hours, then stir in the milk, cream, ham, and cheese in the final 20 minutes.
- Dairy-free swap. Use full-fat coconut milk in place of the heavy cream, unsweetened oat milk for the whole milk, and a melty plant-based cheddar. The flavor leans slightly sweeter but stays satisfyingly creamy.
- Spicy southwest twist. Add a diced jalapeño with the onion, swap pepper jack for the cheddar, and finish with cilantro and a squeeze of lime.
- No-ham vegetarian. Leave out the ham, use vegetable broth, and stir in a teaspoon of smoked paprika to mimic that smoky depth.
Storage & Leftovers
Refrigerated, this soup keeps beautifully for 3 to 4 days in an airtight container. Reheat it low and slow on the stovetop, stirring often, and add a splash of milk or broth to loosen it back up if it has thickened in the fridge — the potato starch keeps absorbing liquid as it sits. Avoid the microwave on high, which can cause the dairy to break and the cheese to seize.
For freezing, the cleanest approach is to freeze the broth-and-potato base before adding the dairy and cheese, then thaw and finish it fresh. If you've already finished the soup, you can still freeze it for up to two months in flat freezer bags or wide-mouth jars — just expect a slightly looser, occasionally grainy texture once thawed. Reheat gently from frozen or fully thawed, whisking constantly, and stir in a splash of fresh cream at the end to bring it back together.


