Ham and Potato Soup
Ham and Potato Soup is the meal that rescues the back half of a holiday, when there’s still a wedge of ham in the fridge and nobody wants another sandwich. It puts that ham you already bought to work, stretching a cup and a half into six full bowls with everyday vegetables, a little chicken broth, and milk.
I make it after Easter, Christmas, and the odd Sunday ham, and the one step I never rush is browning the diced ham before anything else goes in the pot. Those crisped edges are where the deep, savory flavor starts, and they’re what keep the bowl from tasting like leftovers sitting in warm broth.

This post contains affiliate links. As an Amazon Affiliate, if you purchase through those links, I earn a commission. Thank you!
Why You’ll Love This Recipe
- It gives leftover holiday ham a real job. A cup and a half turns into six bowls instead of another round of sandwiches.
- The browned ham does the flavoring, so the only liquid you buy is chicken broth. Milk and cheddar carry the rest.
- Waxy baby gold potatoes hold their shape through the simmer, so the soup stays chunky instead of cooking down to paste.
- Everything comes off the everyday shelf: onion, carrot, celery, flour, butter, and cheddar. There’s no specialty trip involved.
- It’s on the table in about 45 minutes, first pan to last ladle.
- The pot keeps for days in the fridge and freezes for up to three months, so one afternoon of cooking covers more than one dinner.
Ingredients You’ll Need
Here’s what’s worth a word before you start; the printable card below has the full list with quantities.
- Leftover ham. Any fully cooked ham works, cut into small cubes. This one is built for the tail end of a holiday ham, but a deli ham steak does the job on an ordinary week.
- Baby gold potatoes. Baby golds or Yukon Golds are what I use here, cut into even, bite-size pieces so they cook at the same rate. There’s more on why in the FAQs below.
- Cheddar. I shred it off a block rather than using the pre-shredded kind, which is coated to stop it clumping and never melts as cleanly. It goes in at the very end.
- Milk. Whole milk gives the broth its body without tipping into heavy. It also keeps this a ham and potato soup with milk rather than cream, so the ham and cheddar stay the loudest flavors in the bowl.
- Corn. It adds little pops of sweetness against the salty ham. Frozen or canned both work, though you’ll want to drain canned corn first.
- Cayenne. Just enough for a warm background note, not heat you taste up front. Red pepper flakes work if that’s what you keep on hand.

How to Make Ham and Potato Soup
Exact measurements are in the card. Here’s how it comes together, stage by stage.
Brown the ham
Heat half the olive oil in a large pot over high heat, using one roomy enough to hold at least six quarts. Add the cubed ham and cook for a minute or two, stirring now and then, until the edges catch some color. Lift it out with a slotted spoon and set it aside. The ham is already cooked, so this step is about flavor, not doneness.


Soften the vegetables
Pour the rest of the olive oil into the same pot and add the diced onion, carrot, and celery. Cook over high heat for four to five minutes, stirring here and there, until the onion turns soft and translucent. Stir in the minced garlic for one more minute, then scrape up any browned bits stuck to the bottom, since that’s where a lot of the flavor is.
Make the roux
Add the butter and let it melt, then sprinkle the flour over the vegetables and stir constantly for about a minute, until it smells faintly nutty. Add the thyme, oregano, cayenne, and a little salt and pepper, and cook another 30 seconds. It’ll look thick and paste-like, which is exactly right.


Whisk in the broth and milk
Pour in the chicken broth in a steady stream, whisking the whole time so the flour doesn’t clump. It starts to thicken as it comes together. Add the milk and whisk again until the base is smooth. Keep it below a hard boil from here on, or the milk can separate.
Simmer the potatoes
Bring the soup to a gentle boil, then drop it back to a steady simmer over medium heat. Stir in the potatoes and cook for about 20 minutes, stirring often so nothing sticks, until a fork slides through them easily. If it thickens more than you’d like along the way, loosen it with a splash of broth, a quarter cup at a time.


Melt in the cheese and ham
Fold in the corn, shredded cheddar, and the browned ham you set aside. Stir gently over low heat for a couple of minutes, just until the cheese disappears into the broth. Taste, and add more salt and pepper if it needs it. Melting the cheese off the boil like this is what keeps it smooth instead of grainy.
Ladle and serve
Ladle it into bowls while it’s hot, and finish with a scatter of fresh parsley. The cheese is at its best fresh off the stove. It travels well too, staying creamy for a few hours if you keep it warm for a potluck.
Recipe Notes and Expert Tips
- Brown the ham until the edges color before you build the soup. Raw ham stirred in at the end tastes flat next to it.
- Keep it at a gentle simmer once the milk and cheese go in. A hard boil is what breaks the dairy and leaves you with grainy soup.
- Shred the cheddar off a block and stir it in off the heat, at the very end, so it melts smooth.
- Go easy on the salt until the very end. Ham and cheddar are both salty, so taste once everything is in before you add more.
Recipe Variations
- Drop a leftover ham bone in while the potatoes simmer and fish it out before serving; I’ve tested this whenever I’ve saved a bone, and it deepens the broth without touching the method.
- Heavy cream stands in for the milk one-for-one when I want a richer bowl, a swap I’ve tested that doesn’t move the timing.
- A handful of frozen peas, stirred in with the corn, adds color and a little sweetness; I’ve tested that too.
- For the top, crisp bacon and sliced green onion are an optional finish I’ve tested plenty, scattered on right at the end.
How to Store Leftovers
To get ahead, cook the soup up to the point just before the cheese goes in, then cool it in shallow containers and refrigerate. Reheat it gently later and stir the cheddar through fresh right before serving, so it stays smooth.
Refrigerate leftovers within two hours and reheat to 165°F. Ladle the pot into shallow airtight containers rather than leaving it on the counter to cool, which brings it down through the danger zone faster. Store it at 40°F or below for 3 to 4 days. For single portions, microwave for 2 to 3 minutes, stirring halfway through. To reheat the whole batch, warm it on the stove over medium-low heat until steaming.
To freeze, leave the cheddar out and stir it in fresh after reheating, since dairy can turn grainy when frozen. Pack the soup into freezer-safe containers with about an inch of headspace, freeze it for up to three months at 0°F, and thaw it overnight in the fridge before reheating on the stove.
What to Serve With Ham and Potato Soup
Bread is the obvious partner, since the creamy broth clings to a torn piece. I go with a crusty loaf or soft dinner rolls for dipping. A green salad with a sharp vinaigrette cuts the richness, and cornbread works too, a slightly sweet one playing against the salty ham. If you want something warm on the side, roasted vegetables hold their own without competing with the bowl.
FAQs
Yes. Any fully cooked ham works. Cut a ham steak into small cubes and brown it the same way for the same savory base.
Almost always one of two things. Either it hit a hard boil after the dairy went in, or the cheese was pre-shredded. Drop the heat before the milk goes in, stir the cheddar through off the boil, and grate it fresh from a block.
Waxy ones, like baby golds or Yukon Golds, because they hold their shape in the pot. Russets release more starch and soften, which some cooks want for a thicker, smoother soup, but here they pull it toward a paste.
More Soups Worth Making a Pot Of
If this one hit the spot, here are a few more soups from the site worth a bowl:
- Cheeseburger Soup: browned ground beef, cheddar, and potatoes in a creamy broth, done in about 35 minutes.
- Potato Soup: a smooth, blended bowl built on baked potatoes and crispy bacon, with no ham required.
- Corn Chowder: sweet corn and a splash of cream carry this quick one-pot chowder.
- Chicken Tortilla Soup: a stovetop soup you finish with your own baked tortilla strips and whatever toppings you like.
- Chicken Noodle Soup: chicken and egg noodles in a herby broth, brightened with a squeeze of lemon.

Equipment
Ingredients
- 1 tablespoon olive oil divided
- 11/2 cups cubed leftover ham fully cooked
- 1 cup yellow onion diced
- 1/2 cup carrot diced
- 1/2 cup celery stalk diced
- 11/2 teaspoons garlic minced
- 3 tablespoons unsalted butter
- 3 tablespoons flour
- 3/4 teaspoon dried thyme
- 3/4 teaspoon dried oregano
- 1/2 teaspoon ground cayenne pepper
- Salt and pepper to taste
- 1 cup milk
- 1 1/2 cups chicken broth
- 2 cups baby gold potatoes diced (peeled if you like)
- 1 1/2 cups corn
- 1 cup Cheddar cheese shredded
- Fresh parsley for garnish

Video
Instructions
- Heat half of the olive oil in a large pot over high heat. Add the ham and cook for 1 to 2 minutes until lightly browned. Remove and set aside.1 tablespoon olive oil, 11/2 cups cubed leftover ham
- Add the rest of the olive oil. Add the onion, carrot, and celery. Cook for 4 to 5 minutes until the onion softens. Add the garlic and cook for 1 more minute.1 cup yellow onion, 1/2 cup carrot, 1/2 cup celery stalk, 11/2 teaspoons garlic
- Add the butter and let it melt. Sprinkle in the flour and stir for 1 minute. Add the thyme, oregano, cayenne, salt, and pepper. Cook for 30 seconds.3 tablespoons unsalted butter, 3 tablespoons flour, 3/4 teaspoon dried thyme, 3/4 teaspoon dried oregano, 1/2 teaspoon ground cayenne pepper, Salt and pepper
- Pour in the chicken broth and whisk until it starts to thicken. Add the milk and whisk again for 1 to 2 minutes.1 1/2 cups chicken broth, 1 cup milk
- Bring the soup to a boil, then lower the heat to medium. Add the potatoes and cook for about 20 minutes, stirring often, until tender. If the soup is too thick, add a little extra broth.2 cups baby gold potatoes
- Add the corn and the reserved ham, and cook until heated through. Reduce heat to low, add the shredded cheese, and stir until just melted. Taste and adjust seasoning.1 1/2 cups corn, 1 cup Cheddar cheese, Fresh parsley
- Ladle the soup into bowls and garnish with fresh parsley.
Notes
- Brown the diced ham until the edges color before building the soup; raw ham stirred in at the end tastes flat by comparison.
- Use waxy potatoes such as baby golds or Yukon Golds; russets release more starch and pull this chunky soup toward paste.
- Keep the soup at a gentle simmer once the milk and cheese are in; a hard boil breaks the dairy and turns it grainy.
- Refrigerate leftovers within two hours and reheat to 165°F.
- To freeze, leave the cheddar out and stir it in fresh after reheating so it stays smooth.

Add Preferred Source