Ham and potato soup is a warm and comforting dish that’s perfect for chilly days. It’s made with tender potatoes, salty ham, and a creamy broth that feels like a cozy hug in a bowl. The chunks of ham add great flavor and a bit of heartiness, while the potatoes make it nice and filling.
I love making this soup when I want something easy but satisfying. One of my favorite tricks is to let it simmer long enough so the potatoes get super soft and the flavors mix together really well. It’s simple to prepare, but it tastes like you spent hours on it, which always feels like a win in my kitchen.
To serve, I like to add a sprinkle of shredded cheese on top or some crispy bits of bacon for extra texture. It’s also great with a slice of crusty bread for dipping. This soup always reminds me of cozy family dinners, where everyone gathers around the table, warm and happy from a bowl full of comfort.
Key Ingredients & Substitutions for Ham and Potato Soup
Potatoes: Use starchy potatoes like Russets for a creamy texture, or Yukon Golds for a buttery flavor. If you want a lighter soup, red potatoes also hold their shape well.
Ham: Leftover cooked ham works great, or you can use ham steak. For a smoky flavor, try smoked ham hocks or even diced bacon as a substitute.
Vegetables: Carrots, celery, and onions build a classic base. Feel free to add leeks or parsnips for a slightly sweeter note.
Milk or Cream: For richness, cream is best, but milk or even half-and-half works well. Use dairy-free milk like oat or almond for a lighter or dairy-free option.
Thickener (Flour): Flour helps make the soup creamy and smooth. You can swap it with cornstarch or arrowroot if you want a gluten-free version.
How Do I Get the Soup Thick and Creamy Without It Being Lumpy?
Making a smooth, creamy soup can seem tricky, but this simple method works every time:
- First, sauté your veggies and sprinkle flour evenly over them. Stir well to coat and cook for a couple of minutes to get rid of that raw flour taste.
- When adding broth, pour it in slowly while whisking constantly. This stops lumps from forming and mixes the flour evenly.
- Simmer the soup gently until it thickens and the potatoes are soft, which naturally helps thicken the base.
- Last, stir in milk or cream at low heat. Don’t boil after adding dairy to avoid curdling.
Patience is key—low and steady heat with constant stirring helps the soup come out smooth and creamy every time!

Equipment You’ll Need
- Large Soup Pot – I like a roomy pot so everything cooks evenly and I don’t worry about splashes.
- Wooden Spoon or Ladle – perfect for stirring without scratching the surface and reaching into the pot’s corners.
- Measuring Cups and spoons – helps you keep track of ingredients for the best results.
- Knife and Cutting Board – for chopping potatoes, carrots, celery, and ham.
- Whisk – makes it easy to slowly add broth without lumps forming.
Flavor Variations & Add-Ins
- Cheese: Stir in shredded cheddar or gouda at the end for a cheesy twist.
- Veggies: Add peas, corn, or spinach for extra color and nutrients.
- Spices: Mix in a dash of smoked paprika or cayenne pepper for some heat.
- Alternative Proteins: Use diced turkey or cooked sausage instead of ham for different flavors.
How to Make Ham and Potato Soup
Ingredients You’ll Need:
- 4 cups diced potatoes (about 4 medium potatoes)
- 1 1/2 cups cooked ham, diced
- 1 cup carrots, diced
- 1/2 cup celery, diced
- 1 medium onion, finely chopped
- 3 cloves garlic, minced
- 4 cups chicken broth
- 1 cup water
- 1 cup milk or cream
- 2 tablespoons butter
- 2 tablespoons all-purpose flour
- 1 teaspoon dried thyme
- Salt and black pepper to taste
- Fresh parsley, chopped (for garnish)
How Much Time Will You Need?
This recipe takes about 10 minutes to prepare and 30 minutes to cook, so you can enjoy a warm, comforting soup in about 40 minutes. Most of that time, the soup will be simmering while you relax or prepare other dishes.
Step-by-Step Instructions:
1. Sauté the Vegetables:
In a large pot, melt the butter over medium heat. Add the chopped onion, carrots, and celery. Cook, stirring occasionally, until the vegetables are soft and fragrant, about 5 to 7 minutes.
2. Add Garlic and Flour:
Stir in the minced garlic and cook for another minute. Sprinkle the flour over the vegetables and stir well to coat everything evenly. Cook for about 2 minutes to get rid of the raw flour taste.
3. Add Broth and Simmer:
Slowly whisk in the chicken broth and water, stirring constantly to avoid lumps. Bring the soup to a gentle boil. Then add the diced potatoes, ham, and dried thyme. Lower the heat and let it simmer until the potatoes are tender, about 15 to 20 minutes.
4. Finish with Cream and Seasoning:
Stir in the milk or cream gently, heating it through without letting it boil. Taste the soup, then add salt and pepper as you like.
5. Serve and Enjoy:
Ladle the hot soup into bowls. Sprinkle fresh chopped parsley on top and a bit more black pepper if you like. Serve warm, maybe with a slice of crusty bread for dipping.
Can I Use Frozen Ham for This Soup?
Yes! Just make sure the ham is fully thawed before adding it to the soup. Thaw it overnight in the fridge or quickly in cold water to keep it safe and tasty.
Can I Substitute Potatoes with Sweet Potatoes?
Absolutely! Sweet potatoes add a slightly sweet twist and vibrant color. Just keep in mind they cook a bit faster, so check for tenderness earlier.
How Long Can I Store Leftover Soup?
Store leftovers in an airtight container in the fridge for up to 3 days. Reheat gently on the stove or microwave, stirring occasionally for even warming.
Can I Make This Soup Dairy-Free?
Yes! Swap the milk or cream for unsweetened almond milk, oat milk, or another dairy-free alternative. Just add it at the end and warm gently to avoid curdling.