
Let’s be honest for a second. I’ve been cooking for my family for more years than I can easily count.
And this **Creamy Ham and Potato Soup**? It’s the one I come back to, over and over again.
The Story Behind the Pot
For me, this soup isn’t just a recipe; it’s a page from my own life, scribbled with gravy stains and memories.
I grew up watching my mom make a version of this after every big holiday, transforming the leftover ham into something magical.
Why This Recipe Works
Now, I’m not claiming to have invented soup, goodness knows. What I’ve done is fine-tuned a classic.
I’ve found a few small, but mighty, tricks that lift this from simple to simply unforgettable.
The first is a double-thickening method. We start with a quick roux for that foundational, silky body and rich flavor.
Then, at the very end, a little cornstarch mixed into the dairy gives us perfect, adjustable thickness and keeps everything smooth.
Speaking of dairy, we treat it with respect. Milk and cream go in last, on a gentle heat.
We’re coaxing it into the soup, not shocking it. This is the absolute key to avoiding any graininess or curdling.
And then there’s my secret whisper: a teaspoon of Dijon mustard. You won’t taste “mustard.”
You’ll just get a mysterious, savory depth that makes everyone ask, “What is that wonderful flavor?”
Ingredients Needed for the Recipe
This is where cozy cooking begins, with humble ingredients that do extraordinary things together.
Gather these simple items, and you’re already most of the way there.
- Butter & Olive Oil: This duo starts our soup, with butter for flavor and oil to keep things from burning.
- Yellow Onion, Carrot & Celery: The classic aromatic base, or *mirepoix*, that builds the soup’s savory foundation.
- Garlic: Because a little punch of aroma is never, ever a bad idea.
- All-Purpose Flour: The first thickener, used to make our quick roux for body and richness.
- Low-Sodium Chicken Broth: The liquid base of our soup; using low-sodium lets you control the final seasoning.
- Yukon Gold Potatoes: Their creamy, buttery texture and ability to hold shape make them the ideal choice here.
- Cooked Ham: The star! Use leftovers from a holiday feast or good-quality deli ham.
- Ham Bone (optional): If you have one, it adds an incredible layer of smoky, deep flavor.
- Dijon Mustard & Dried Thyme: Our subtle flavor enhancers, adding a savory note and earthy warmth.
- Whole Milk & Heavy Cream: The dynamic duo for ultimate creaminess. They go in at the very end.
- Cornstarch: Our second thickener, whisked into the cold dairy to stabilize and perfect the soup’s texture.
- Shredded Cheddar Cheese: Stirred in at the finish for a melty, cozy, cheesy embrace.
- Salt, Pepper & Fresh Parsley: For final seasoning and a bright, optional garnish.
The Best Ham for the Job
This soup is the ultimate destination for leftover holiday ham, truly. That post-Easter or post-Christmas pile of meat has found its calling.
If you don’t have leftovers, no worries. A thick slice of good-quality deli ham, diced, works beautifully.
And about that ham bone. Think of it as a flavor booster rocket, if you have one tucked in the fridge.
It simmers with the potatoes, imparting a soulful richness that’s hard to beat, but the soup is still fantastic without it.
How to make Creamy Ham and Potato Soup?
This process is a gentle journey from the sauté pan to the soup bowl. Follow these steps, and you’ll have a pot of comfort ready in under an hour.

It’s faster than it tastes, I promise you that.
Step 1- Sauté the Aromatics
In a large Dutch oven or heavy pot, melt the butter with the olive oil over medium heat.
Add the diced onion, carrot, and celery, and cook for about 5 minutes, just until they begin to soften and smell wonderful.
Step 2- Build the Roux
Sprinkle the tablespoon of flour over the softened vegetables. Now, stir constantly for a good minute or two.
You’re cooking the raw taste out of the flour, and toasting it slightly, which is the start of our luxurious texture.
Step 3- Simmer the Soup Base
Pour in the chicken broth, stirring well to scrape up any browned bits and fully incorporate the roux.
Add the diced potatoes, ham, the ham bone (if using), Dijon mustard, and thyme. Give it a good stir.
Step 4- Cook Until Tender
Bring the pot to a lively boil, then immediately reduce the heat to a steady, gentle simmer.
Cover the pot and let it cook for 15 to 20 minutes, just until the potatoes are perfectly fork-tender.
Step 5- Prepare the Cream Mixture
While the soup simmers, take a moment to whisk together the cold milk, cream, and cornstarch in a separate bowl or measuring jug.
Whisk until it’s completely smooth, with no lumps of cornstarch lurking.
Step 6- Finish with Dairy and Cheese
Reduce the heat under the soup to low. Carefully remove and discard the ham bone.
Slowly, while stirring constantly, pour the milk and cream mixture into the soup. Let it simmer gently for 5-7 more minutes to thicken.
Step 7- Final Seasoning and Serve
Take the pot off the heat. Now, stir in the shredded cheddar cheese until it melts into creamy ribbons.
Taste the soup—this is the most important step. Season generously with salt and black pepper until it sings to you.
Tips
A few friendly pointers from my kitchen to yours, to guarantee your soup turns out dreamy every single time.
- Dice Evenly: Try to cut your potatoes and vegetables into similar-sized pieces. This ensures they all cook at the same rate.
- Low and Slow for Dairy: Never, ever boil the soup after adding the milk and cream. A low simmer is your best friend for a velvety texture.
- Cheese Matters: Use a block of cheddar and shred it yourself. Pre-shredded cheese contains anti-caking agents that can make your soup slightly grainy.
- Thickness to Taste: The cornstarch is your adjustment tool. For a thicker soup, use the full 2 tablespoons. For a lighter feel, use just 1.
- Rest and Reheat Gently: If you have leftovers, they will thicken in the fridge. Reheat them slowly over low heat, adding a splash of milk if needed.
Serving Your Masterpiece
This soup is a complete meal in a bowl, but it loves good company. Ladle it steaming hot into deep bowls.
A sprinkle of fresh parsley adds a lovely spot of color and a hint of freshness.
Now, the accompaniments. At my house, we consider crusty, warm bread or fluffy homemade biscuits to be mandatory.
They’re essential tools for scooping up every last drop, and my kids treat the bread-dunking as a serious sport.
Storing and Making Ahead
Let’s talk about the life cycle of this soup. It’s best enjoyed fresh, the day you make it, when the textures are at their peak.
But yes, leftovers are a beautiful thing, a chef’s privilege for lunch the next day.
If you do have leftovers, cool the soup quickly and store it in a sealed container in the fridge for up to 2 days.
Reheat it gently on the stove over low heat, stirring often to prevent the dairy from separating.
A crucial note: I don’t recommend freezing this soup once the dairy and potatoes are in.
Freezing can cause the dairy to separate and the potatoes to become grainy and spongy upon thawing.
Simple Variations to Try
Once you’ve mastered the base recipe, feel free to make it your own. Cooking should be fun, after all.
You could add a cup of frozen sweet peas or corn in the last five minutes of cooking for a pop of color and sweetness.
For a different herbal note, swap the dried thyme for a teaspoon of dried rosemary or a bay leaf (remember to remove the bay leaf before serving).
If you want a smokier flavor, use a smoked Gouda instead of the cheddar cheese.
And for those who like a bit of green, a few handfuls of fresh spinach stirred in right at the end, just until wilted, is a wonderful addition.
The key is to start with the solid foundation we’ve built, then paint with your own favorite flavors.

Creamy Ham and Potato Soup Recipe
Description
I’ve been creating and sharing recipes for over a decade, but this Creamy Ham and Potato Soup? It’s personal. I grew up eating versions of this after every holiday ham, and now I make it for my own three kids with leftover ham from Easter, Christmas or anytime I want cozy comfort. It’s the kind of soup that tastes like it simmered all day, but comes together fast with simple, everyday ingredients. Creamy, comforting, and picky-eater approved!
Ingredients
Main Ingredients
To finish the soup
Instructions
-
Sauté vegetables
In a large pot or Dutch oven, heat butter and olive oil over medium heat. Add onion, carrot, and celery. Sauté for 4–5 minutes, until softened. Stir in garlic and cook 30 seconds. -
Make the roux
Sprinkle flour over vegetables and stir well. Cook for 1–2 minutes, stirring constantly. -
Simmer the soup
Stir in broth until smooth. Add potatoes, ham, optional ham bone, Dijon, and thyme. Stir well, bring to a boil, then reduce to a simmer. Cover and cook for 15–20 minutes, until potatoes are fork-tender. -
Thicken with dairy mixture
Reduce heat to low. In a bowl or measuring cup, whisk milk, cream, and cornstarch until smooth. Remove ham bone (if using) from the pot and discard. Slowly pour the milk mixture into the soup, stirring constantly. Simmer on low for another 5–7 minutes, until the soup thickens slightly. -
Add cheese and season
Take off the heat. Stir in shredded cheddar until melted and smooth. Season to taste with salt and pepper. -
Serve
Ladle into bowls, garnish with chopped parsley if desired, and serve hot with crusty bread.
Nutrition Facts
Servings 6
Serving Size 1 bowl
- Amount Per Serving
- Calories 320kcal
- % Daily Value *
- Total Fat 18g28%
- Saturated Fat 10g50%
- Cholesterol 60mg20%
- Sodium 980mg41%
- Potassium 620mg18%
- Total Carbohydrate 26g9%
- Dietary Fiber 3g12%
- Sugars 6g
- Protein 15g30%
- Calcium 180 mg
- Iron 1 mg
* Percent Daily Values are based on a 2,000 calorie diet. Your daily value may be higher or lower depending on your calorie needs.
Note
- Use Yukon Gold potatoes for best texture—they hold their shape and add buttery flavor.
- Leftover ham is perfect, but store-bought cooked ham works too.
- Don’t boil the dairy—add milk and cream at the end over low heat to prevent curdling.
- Roux + cornstarch = perfect thickness without graininess or separation.
- Best served fresh—dairy-based soups don’t freeze well. Store in fridge up to 2 days and reheat gently.
Frequently Asked Questions
Can I use leftover ham from Easter or Christmas?
Absolutely! That’s the entire point of this recipe. Chop it, shred it, or cube it—whatever’s easiest. Glazed or smoky ham adds even more flavor.
What if I don’t have a ham bone?
The soup is still delicious without it! The ham bone adds depth, but it’s optional.
Can I make this ahead of time?
Yes, but add the dairy right before serving for best texture. Store cooled soup in the fridge and reheat gently over low heat.
Can I freeze this soup?
Not recommended—dairy-based soups tend to separate and potatoes become grainy when frozen and thawed.
