Ham and potato soup hits the table thick, creamy, and full of small, satisfying bites — tender potato, sweet carrot, and salty ham in a broth that tastes like it simmered far longer than it did. This version keeps the whole pot in one pan, and that matters because the flavor starts building as soon as the onions and carrots soften in butter.
The trick is a small flour base cooked with the vegetables before the broth goes in. That gives the soup body without turning it gluey. Mashing a few potatoes right in the pot finishes the job naturally, so the soup feels rich and rustic instead of heavy or overly thick. Dijon doesn’t make it taste like mustard; it sharpens the cream and keeps the ham from tasting flat.
Below, I’ll walk you through the order that keeps the texture smooth, the potatoes tender, and the broth seasoned properly. There’s also a storage note worth knowing, because this soup thickens overnight and reheats better than most creamy soups if you handle it the right way.
The potatoes broke down just enough to thicken it without turning mushy, and the Dijon gave the broth a little extra depth. I used leftover ham and it tasted like I’d been working on it all afternoon.
Love a creamy one-pot ham and potato soup with tender potatoes and a rich, savory broth? Save this one for leftover ham nights.
The Part Where the Potatoes Thicken the Soup Without Turning It Heavy
Russet potatoes are doing two jobs here. They cook down into tender chunks, and a few of them break apart just enough to thicken the broth naturally. That gives you body without needing a heavy roux or a full cup of cream to carry the texture.
The biggest mistake with this kind of soup is rushing the simmer. If the heat is too high, the potatoes soften on the outside and stay firm in the center, which leaves the soup uneven and the broth thin. Gentle simmering gives you potatoes that are creamy all the way through and a broth that settles into something spoonable.
- Russet potatoes — These are the best choice because they break down a little as they cook, which helps thicken the soup. Waxy potatoes hold their shape more tightly and won’t give you the same creamy finish.
- Cooked ham — Use leftover ham if you have it. It brings salt, smoke, and enough structure to stand up to the cream. If your ham is especially salty, season the soup at the end instead of early.
- Heavy cream — This gives the soup its final silky texture. Half-and-half will work in a pinch, but the soup will be a little lighter and less luxurious.
- Dijon mustard — Just a teaspoon wakes up the broth and keeps the cream from tasting flat. You won’t taste mustard in the usual sense; you’ll notice that the soup tastes more complete.
What Each Ingredient Is Actually Doing in the Pot

The onion, carrots, and butter form the base flavor. Cook them until the onion turns translucent and the carrots begin to soften; that’s when their sweetness shows up. Garlic goes in late because it burns fast, and burnt garlic will make the whole pot taste bitter.
The flour is there to give the broth structure before the potatoes finish the job. Cook it for a minute or two in the butter and vegetables so it loses that raw flour taste. If you skip that step, the soup can taste pasty instead of smooth.
Chicken broth matters more than people think in a short-cook soup like this. Use one that tastes good on its own, because there isn’t enough simmer time to fix a weak base. The parsley and cheddar at the end are not decoration; the parsley freshens the bowl and the cheddar adds a salty finish that fits the ham.
Building the Soup in the Right Order
Softening the Vegetables First
Melt the butter in a large pot and cook the onion and carrots until the onion looks glossy and the carrots start to lose their raw edge. You’re not trying to brown them. You’re giving the soup its first layer of sweetness. If the pot looks dry before the vegetables soften, the heat is too high.
Cooking Out the Flour
Stir in the garlic, then add the flour and cook it briefly until it looks paste-like and stops smelling dusty. That short cook is what keeps the soup from tasting chalky. Keep stirring so the flour doesn’t catch on the bottom of the pot and turn into gritty bits.
Simmering the Potatoes Until Tender
Pour in the broth, add the potatoes and garlic powder, and bring everything to a boil before dropping the heat to a steady simmer. You want the potato cubes to give cleanly when pierced, not collapse into mash right away. If they’re still firm after 20 minutes, the pieces were cut too large or the simmer was too low.
Finishing with Ham and Cream
Once the potatoes are tender, mash a portion of them against the side of the pot. That’s what gives the soup its body without making it pasty. Stir in the cream, ham, and Dijon last, then let the soup warm gently for a few minutes. If you boil it after the cream goes in, the texture can turn grainy.
What to Change When You Need a Different Version
Dairy-Free Version
Swap the heavy cream for full-fat coconut milk or an unsweetened dairy-free cooking cream. Coconut milk gives the soup a softer, slightly richer finish, while dairy-free cream keeps the flavor closer to the original. Don’t use a thin milk alternative here or the soup will taste watery.
Gluten-Free Version
Replace the all-purpose flour with a gluten-free flour blend that can thicken sauces, or skip it and mash a little extra potato at the end. The second option gives you a slightly more rustic texture, but it keeps the soup naturally thick without any flour at all.
Using Ham Bone or Ham Steak
If you’ve got a ham bone, simmer it in the broth for extra depth, then pull it out before serving. Ham steak works too; dice it and add it with the cream so it stays tender. A bone gives you more background flavor, while steak gives you bigger, meatier bites.
Making It Thicker
For a thicker bowl, mash more of the potatoes or simmer the finished soup a few extra minutes before adding the cream. That reduces the broth naturally without making it heavy. If you want it almost chowder-like, use an immersion blender for just a few quick pulses so some chunks remain.
Storage and Reheating
- Refrigerator: Store in an airtight container for up to 4 days. It will thicken as it chills because the potatoes keep absorbing liquid.
- Freezer: It can be frozen, but the texture softens a bit after thawing because of the cream and potatoes. Freeze in portions for up to 2 months and stir well when reheating.
- Reheating: Warm it gently on the stove over low heat, adding a splash of broth or milk if needed. Don’t boil it hard or the cream can separate and the potatoes can turn grainy.
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 add the onion and carrots and sauté for 5 minutes until they begin to soften, stirring occasionally.
- Add the minced garlic and cook for 1 minute until fragrant, then whisk in the all-purpose flour and cook for 1-2 minutes to remove the raw flour taste.
- Pour in the chicken broth and add the peeled, cubed russet potatoes along with the 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 in the pot to thicken the soup while keeping some potato chunks.
- Stir in the heavy cream, diced cooked ham, and Dijon mustard, then simmer for 5 minutes until heated through and creamy.
- Season with salt and pepper to taste, then serve topped with fresh parsley and shredded cheddar.