Thick, creamy, and loaded with tender potato chunks, this one pot ham and potato soup lands right in the comfort zone without turning heavy or bland. The broth gets body from a small flour roux and a partial potato mash, so the texture stays velvety while still leaving enough pieces of potato and ham in every spoonful.
The big flavor move here is the Dijon mustard. It doesn’t make the soup taste like mustard; it sharpens the cream, lifts the sweetness of the carrots, and keeps the ham from tasting flat. I also like adding the cream near the end, after the potatoes are tender, so the dairy stays smooth instead of cooking down too hard while the soup simmers.
Below, I’ve included the trick that gives this soup its thick, spoon-coating finish, plus a few easy swaps if you’re working with leftover ham, different potatoes, or a lighter pantry.
The potatoes broke down just enough to thicken the soup, and the ham stayed tender instead of getting tough. I made it on a Sunday and the flavor was even better the next day.
Save this one pot ham and potato soup for the nights when you want something creamy, hearty, and built from one pot.
The Trick That Keeps This Soup Thick Without Turning Gluey
The texture comes from using two thickness builders that work together: the flour gets cooked into the butter first, and then a portion of the potatoes gets mashed right in the pot. That combination gives you body without making the soup taste pasty or overly starchy. If you skip the roux, the broth can feel thin. If you mash every potato, the soup turns too heavy and loses the chunkiness that makes it satisfying.
The potatoes matter here because russets break down more easily than waxy potatoes. That’s a plus in this soup. They help thicken the broth naturally while still leaving enough structure if you stop mashing after just a little. The other place people go wrong is rushing the simmer. Potatoes need enough time to go tender all the way through before the cream goes in, or you end up with hard centers and a broken texture from overcooking the dairy while you wait.
What Each Ingredient Is Actually Doing In This Pot

- Cooked ham — Use a ham steak or leftover holiday ham cut into small cubes. Smaller pieces distribute better in every bite, and since the ham is already cooked, it only needs the final simmer to warm through and absorb flavor.
- Russet potatoes — These are the backbone of the soup. Their starch helps thicken the broth as they cook, and they mash more easily than waxy potatoes. Yukon golds work in a pinch, but the soup will be a little silkier and less thick.
- Butter, flour, and broth — The butter and flour make a quick roux that keeps the soup from tasting watery. Cook the flour long enough to lose its raw taste, then whisk in the broth slowly so the base stays smooth.
- Heavy cream — This goes in after the potatoes are tender. Cream adds richness, but it doesn’t need a hard boil. Keep the heat at a gentle simmer once it’s added so it stays smooth.
- Dijon mustard — This is the quiet ingredient that keeps the soup from tasting one-note. It sharpens the finish and makes the ham taste fuller without announcing itself.
Building the Base So the Soup Stays Smooth
Softening the vegetables first
Melt the butter and cook the onion and carrots until the onion turns translucent and the carrots start to soften. That early sweat builds sweetness into the base and keeps the finished soup from tasting flat. If the pan runs too hot here, the vegetables brown before they soften, and the soup loses that clean, mellow flavor.
Cooking out the flour
Stir the flour into the butter and vegetables, then cook it for 1 to 2 minutes before adding the broth. The mixture should look thick and a little sandy, not wet and glossy. That short cook takes away the raw flour taste and keeps the broth from tasting chalky.
Simmering the potatoes until they collapse at the edges
After the broth and potatoes go in, bring the pot to a boil, then settle it to a steady simmer. You want the potatoes tender enough that a fork slides in without resistance and a few edges start breaking down. If the heat is too high, the liquid reduces too fast and the potatoes can split apart before they’re soft in the center.
Finishing with cream, ham, and Dijon
Stir in the cream, ham, and Dijon after the potatoes are cooked through. Keep the simmer gentle here. Hard boiling can make the cream taste scorched or grainy, while the ham only needs enough time to warm through and season the broth.
Make It Lighter With Milk Instead of Cream
Whole milk works if you want a lighter soup, but it won’t give you the same plush texture. To keep it from tasting thin, mash a little more of the potatoes before adding the milk and keep the heat low so it doesn’t curdle.
Gluten-Free Version With Cornstarch
Skip the flour and whisk 2 tablespoons cornstarch into a little cold broth, then stir it into the pot once the potatoes are close to tender. It thickens fast, so let it simmer for a few minutes before adding the cream. The result is a slightly glossier soup with the same hearty feel.
Use Leftover Holiday Ham
Leftover baked ham is ideal here because it already has a little smoke and seasoning. Add it near the end so it stays tender. If it’s especially salty, taste the soup before adding extra salt and hold back until the final adjustment.
Dairy-Free Enough for a Coconut-Free Shortcut
Use plant-based butter and unsweetened oat milk or an unsweetened dairy-free cooking cream. Oat milk gives the cleanest result for this kind of soup because it blends in without a strong flavor. Keep the simmer gentle after adding it so the texture stays smooth.
Storage and Reheating
- Refrigerator: Keeps for 3 to 4 days in a sealed container. The soup thickens as it chills because the potatoes keep absorbing liquid.
- Freezer: It freezes, but the texture gets a little grainy after thawing because of the cream and potatoes. If you want to freeze it, leave out the cream and stir it in after reheating.
- Reheating: Warm it slowly on the stove over low heat, adding a splash of broth or milk if needed. High heat can make the cream separate and can turn the potatoes gummy, so go low and stir often.
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 add the diced onion and carrots and sauté for 5 minutes until slightly softened and fragrant.
- Add the minced garlic and cook for 1 minute, then whisk in the flour and cook for 1-2 minutes, stirring until the mixture looks smooth and lightly bubbling.
- Pour in the chicken broth, then add the cubed potatoes and garlic powder.
- Bring the soup to a boil, then reduce to a simmer and cook for 18-20 minutes until the potatoes are tender.
- Mash a portion of the potatoes directly in the pot to thicken the soup, leaving some chunks for texture.
- Stir in the heavy cream, diced ham, and Dijon mustard, then simmer for 5 minutes to warm through and slightly thicken.
- Season with salt and pepper to taste, then serve immediately with fresh parsley and shredded cheddar.


