Thick, creamy ham and potato soup has a way of tasting like it simmered all afternoon, even when it comes together in one pot in under an hour. The potatoes break down just enough to give the broth body, while the diced ham stays hearty and salty in every spoonful. It’s the kind of soup that feels complete on its own, with tender vegetables, a rich base, and just enough mustard to keep the flavor from going flat.
What makes this version work is the order. The butter, onion, and carrots build sweetness first, then the flour gets cooked long enough to lose that raw taste before the broth goes in. A partial mash at the end thickens the soup naturally, so you don’t need to rely on extra cream or a heavy flour taste. The ham goes in near the finish, which keeps it from getting tough or overly salty.
Below, I’ll show you the small details that keep the soup velvety instead of gluey, plus a few smart swaps if you need to use what’s already in the kitchen.
The potatoes softened just enough to thicken the broth on their own, and the ham stayed tender instead of getting chewy. I loved how the Dijon pulled everything together without making it taste mustardy.
Save this creamy one pot ham and potato soup for the nights when you want something hearty, cozy, and ready in one pot.
The Trick to Keeping Ham Soup Creamy Instead of Gluey
The part that trips people up here is thickening. If you dump flour straight into the broth or crank the heat after the cream goes in, the soup can turn grainy or feel heavy instead of silky. Cooking the flour with the vegetables and butter first gives it a chance to lose its raw edge, and mashing only part of the potatoes lets the soup thicken from the inside without turning into mashed potatoes in a pot.
Russet potatoes matter because they break down more readily than waxy varieties. That’s what gives this soup its body. If you use red potatoes, the soup will stay looser and the texture will be chunkier, which isn’t wrong, just different. The Dijon doesn’t read as mustard in the finished bowl; it sharpens the broth and keeps the cream from tasting flat.
What Each Ingredient Is Actually Doing in the Pot

- Russet potatoes — These are the engine of the soup. They soften and partially dissolve, which naturally thickens the broth. Waxy potatoes hold their shape more, so the soup will be thinner and less velvety.
- Cooked ham — Use ham that already has good flavor, since it seasons the whole pot. Leftover holiday ham works beautifully. If it’s especially salty, hold back on the final salt until the end.
- Heavy cream — This gives the soup its round, rich finish. Half-and-half will work in a pinch, but the soup will be lighter and a little less luxurious.
- Dijon mustard — This is a small ingredient with a big job. It sharpens the broth and keeps the dairy from tasting dull. Use a smooth Dijon, not grainy mustard, for the cleanest finish.
- Flour and butter — Together they form the base that helps the soup thicken evenly. Let the flour cook for a minute or two; if it stays pale and raw, you’ll taste it later.
- Carrots and onion — They build sweetness in the first few minutes and give the soup a more complete, savory base. Dice them small so they melt into the broth instead of staying crunchy while the potatoes finish.
Building the Soup in the Right Order
Sweating the Vegetables First
Melt the butter in a large pot over medium heat, then cook the onion and carrots until the onion turns translucent and the carrots start to soften. You’re looking for gentle sizzling, not browning. If the heat is too high, the butter will brown before the vegetables soften, and the soup will taste more toasted than sweet.
Cooking Out the Flour
Stir in the garlic, then whisk in the flour and let it cook for 1 to 2 minutes. The mixture will look pasty, and that’s fine. This short cook time matters because raw flour can make the broth taste dusty, while properly cooked flour gives you a smoother, cleaner thickening later.
Simmering Until the Potatoes Collapse at the Edges
Pour in the broth, add the potatoes and garlic powder, and bring everything to a boil before lowering it to a steady simmer. Cook until the potatoes are tender enough to break easily with a spoon, usually 18 to 20 minutes. If the simmer is too aggressive, the potatoes can fall apart before the broth has time to gain body.
Finishing with Cream and Ham
Mash a portion of the potatoes right in the pot, then stir in the cream, ham, and Dijon mustard. Keep the heat low and let the soup warm through for about 5 minutes. Don’t boil it after the cream goes in; that’s the fastest way to make the texture grainy or split at the edges.
How to Adjust This Soup for What You’ve Got on Hand
Make It a Little Lighter
Swap the heavy cream for half-and-half. The soup will still be creamy, but it won’t coat the spoon quite as deeply. Keep the heat low at the end, because lower-fat dairy is a little less forgiving if it boils.
Gluten-Free Version
Use a 1:1 gluten-free flour blend in place of the all-purpose flour. The soup should still thicken nicely, especially since the potatoes are doing some of the work. Stir a little longer when you add the flour so it has time to hydrate evenly.
Using Different Potatoes
Yukon Gold potatoes give you a silkier, slightly more buttery texture, while red potatoes hold their shape and stay chunkier. If you switch from russets, expect the soup to be less thick unless you mash more of the potatoes at the end.
Storage and Reheating
- Refrigerator: Store in an airtight container for up to 4 days. It will thicken as it chills.
- Freezer: It can be frozen, but the cream may separate a little when thawed. For the best texture, freeze before adding the cream, then stir it in after reheating.
- Reheating: Warm it slowly on the stove over low heat, stirring often. If it looks too thick, add a splash of broth or milk. Don’t boil it hard or the dairy can split.
Answers to the Questions Worth Asking

One Pot Ham and Potato Soup
Ingredients
Equipment
Method
- Melt the unsalted butter in a large pot over medium heat, then sauté the onion and carrots for 5 minutes until softened.
- Add the minced garlic and cook for 1 minute, then whisk in the all-purpose flour and cook for 1-2 minutes until lightly cooked.
- Pour in the chicken broth, then add the peeled and cubed russet potatoes and garlic powder.
- Bring the mixture to a boil, then simmer for 18-20 minutes until the potatoes are tender.
- Mash a portion of the potatoes in the pot to thicken the soup.
- Stir in the heavy cream, diced ham, and Dijon mustard, then simmer for 5 minutes to heat through.
- Season with salt and pepper to taste, then serve topped with fresh parsley and shredded cheddar.