Thick, creamy ham and potato soup lands in the bowl with a spoon-coating body, tender potatoes, and little salty bites of ham in every few scoops. The carrots soften just enough to add sweetness, and the Dijon keeps the whole pot from tasting flat or heavy. It’s the kind of soup that eats like a full meal and somehow tastes even better the next day.
The trick here is building the base in the pot before the broth goes in. Cooking the onion and carrots in butter gives the soup a sweeter, rounder start, and the flour gets whisked in long enough to lose its raw taste before the liquid hits the pan. Mashing a portion of the potatoes right in the pot is what gives you that creamy texture without turning the soup into glue.
Below, I’m walking through the part that matters most: how to get a thick soup without overcooking the potatoes, plus the small ingredient choices that make this one feel balanced instead of just salty and rich.
The potatoes broke down just enough to thicken the soup, but there were still plenty of chunks left. I used leftover ham and my husband went back for a second bowl before I’d even sat down.
Creamy ham and potato soup with tender chunks and a rich, cozy broth is one to pin for easy dinners that taste like you spent all afternoon on them.
The Small Potato Trick That Makes This Soup Creamy, Not Gluey
Russet potatoes are the right choice here because they break down enough to thicken the broth without needing extra starch or cream cheese. The mistake people make is boiling them hard for too long, which turns the soup grainy at the edges and too soft in the center. A steady simmer is enough.
Mashing a portion of the potatoes in the pot gives you body without losing all the chunks. You’re not blending the soup smooth. You’re creating a creamy base while leaving enough whole potato pieces to keep each spoonful interesting.
What Each Ingredient Is Actually Doing in This Pot

- Russet potatoes — These are the thickener. They soften quickly and naturally help the soup turn creamy once you mash part of them. Yukon Golds work too, but they stay a little firmer and won’t give quite the same body.
- Cooked ham — Use leftover holiday ham if you have it, or buy a ham steak and dice it up. This is where the saltiness comes from, so taste before adding extra salt at the end.
- Butter and flour — This is the roux that keeps the soup from feeling thin. Let the flour cook for a minute or two so the finished soup doesn’t taste dusty or raw.
- Heavy cream — It softens the broth and rounds out the texture. Half-and-half can work, but the soup will be a little lighter and less plush.
- Dijon mustard — It doesn’t make the soup taste like mustard. It sharpens the flavor enough to keep the cream and potatoes from tasting dull.
Building the Soup in the Right Order
Softening the Onion and Carrots First
Melt the butter and cook the onion and carrots until the onion turns translucent and the carrots start to lose their raw edge. That takes about five minutes over medium heat. If the pot is too hot, the butter will brown before the vegetables soften, and the base will taste scorched instead of sweet.
Cooking Out the Flour Before the Broth Goes In
Add the garlic, cook it for a minute, then whisk in the flour and let it cook briefly until it looks pasty and smooth. This step matters because raw flour tastes obvious in a creamy soup. Once the broth goes in, whisk right away so the flour dissolves instead of clumping at the bottom of the pot.
Simmering the Potatoes Until They Give
After the broth, potatoes, and garlic powder go in, bring the pot to a boil, then drop it to a gentle simmer. You want the potatoes tender enough to crush easily with a spoon, but not so soft that they disappear completely. If the boil stays too hard, the outside of the potatoes can break apart before the centers are done.
Finishing With Cream and Ham
Stir in the ham, cream, and Dijon after the potatoes are cooked. This keeps the cream from getting boiled too aggressively and protects the ham from turning tough. Let it simmer just long enough to heat through and bring the soup together, then taste for salt at the end because the ham and broth may have already done most of that work.
Three Useful Ways to Adjust This Soup
Make It Dairy-Free Without Losing the Body
Swap the butter for olive oil or a dairy-free butter, and use unsweetened coconut cream or an unsweetened oat-based cooking cream in place of the heavy cream. The soup will be a little less rich, but the potatoes still give it enough thickness to feel satisfying.
Use Yukon Golds for a Silkier Texture
Yukon Gold potatoes hold their shape better and give the soup a smoother, more velvety finish. You’ll get fewer broken-down bits in the broth, so if you like a chunkier soup, mash a little less of the pot at the end.
Stretch It Into a Bigger Meal
Add an extra carrot and another cup of broth if you need to feed more people. A handful of frozen corn or celery works too, but don’t overload the pot or you’ll lose the creamy potato base that makes the soup feel complete.
Storage and Reheating
- Refrigerator: Keep in an airtight container for up to 4 days. The soup thickens as it chills, so it may look tighter the next day.
- Freezer: It freezes, but the cream can separate a little when thawed. If you want the best texture, freeze it before adding the cream, then stir the cream in after reheating.
- Reheating: Warm it slowly over low heat and add a splash of broth or milk if it’s too thick. High heat can make the dairy split and can turn the potatoes mushy.
Questions I Get Asked About This Recipe

One Pot Ham And Potato Soup
Ingredients
Equipment
Method
- Melt the butter in a large pot over medium heat, then sauté the onion and carrots until softened, about 5 minutes. Keep them moving so they don’t brown too quickly.
- Add the minced garlic and cook for 1 minute, stirring constantly. Whisk in the flour and cook for 1-2 minutes until the mixture looks smooth and lightly cooked.
- Pour in the chicken broth, then add the cubed potatoes and garlic powder. Bring the mixture to a boil, then reduce to a simmer.
- Simmer for 18-20 minutes, stirring occasionally, until the potatoes are tender when pierced with a fork. Keep the heat steady so the soup doesn’t boil over.
- Mash a portion of the potatoes in the pot to thicken the soup, leaving some chunks for texture. Stir well to distribute the mash.
- Stir in the heavy cream, diced ham, and Dijon mustard, then simmer for 5 minutes. Make sure the soup is hot throughout without bringing it back to a hard boil.
- Season with salt and pepper to taste, then serve hot with fresh parsley and shredded cheddar. The cheddar should melt slightly on the surface for best texture.