This homemade classic Ham & Potato Soup is creamy, rustic, hearty, packed with healthy vegetables, and oh-so delicious! Best of all, it’s so simple to make it only takes about 45 minutes total.
Why We Love It
Ham and Potato Soup is one recipe you’ll come back anytime you’re in the mood for a cozy, comforting soup. Or whenever you have leftover ham in the fridge. Why am I so sure you’ll love it?
- All the ingredients are budget friendly and household staples.
- It repurposes leftover ham into something new. The ham gives this soup an instant flavor boost!
- It’s super simple and easy to make using just one pot, or you can use your slow cooker or Instant Pot.
- It’s packed with hearty, healthy vegetables.
- You only need takes about 45 minutes to make it.
Best of all, the house smells amazing while the soup simmers away. It doesn’t get better than that!
- I like to use Russet or Yukon Gold potatoes in soup because they become super creamy and thicken the soup nicely.
- Use leftover spiral ham, country ham, ham steak, or any other kind of cooked ham. They’ll all work great!
- If you have a ham bone, use it. It adds tons of flavor to the soup!
- You can use either chicken or vegetable stock.
- You can use any type of milk you prefer, as long as it’s unsweetened and unflavored. Use cow’s milk, coconut milk, oat milk, or almond milk interchangeably, depending on your dietary preferences.
- Easily make this recipe gluten free friendly by omitting flour and substituting arrowroot powder or corn starch.
Step by Step Instructions
Step 1: Do the prep work.
Wash all the produce well. Dice the onions, celery, carrots, ham, and potatoes. Mince the garlic.
👉 Time Saving Tip: You don’t have to peel the potatoes or carrots. You can peel them if you’d like, but leaving them on is totally fine! In fact, vegetable skins are healthy and have many benefits.
👉 Reducing Food Waste Tip: Save the onion, carrot, garlic, celery, and herb scraps to include in your next batch of Vegetable Stock!
Step 2: Sauté the vegetables.
Add the oil to a pot over medium heat, then add the onions, celery, and carrots. Sauté, stirring occasionally, for about 5 minutes, until they’re beginning to soften.
Add the butter and sprinkle the flour on top of the vegetables. Mix well, stirring constantly, for another 2-3 minutes.
Step 3: Cook the soup.
Stir in the garlic, potatoes, ham, broth, and bay leaves. If you have a ham bone, add it in during this step! Bring it to a simmer and cover the pot.
Allow the soup to simmer for about 15 minutes, stopping halfway to stir the soup.
Step 4: Finish the soup.
Uncover the soup and stir in the milk. Allow the soup to simmer for another 10-15 minutes.
👉 The longer the soup simmers, the thicker and creamier it will be.
Remove the bay leaves and ham bone, if you used one. Taste the soup and season with salt and pepper, if needed.
Ladle the finished soup into bowls and garnish with more pepper and minced parsley.
- Add the diced potatoes, carrots, celery, onion, garlic, celery, and ham to your slow cooker. Stir in the broth and add the bay leaves. Cook for on low for 5.5-6.5 hours or high for 3-4 hours. The potatoes and carrots should be fork tender and cooked through before moving on to the next step.
- Make a slurry by whisking a few tablespoons of the hot broth with the flour in a small bowl, then pour the slurry into the soup and stir well. Stir in the milk. Cover and simmer for another 30-45 minutes.
- Turn the Instant Pot to Sauté mode and heat the oil. Add the carrots, celery, and onion, and saute for 5 minutes. Add the butter and flour, and sauté for another 2-3 minutes.
- Stir in the ham, broth, garlic, and bay leaves. Cover and turn to High Pressure for 2 minutes.
- Allow for a Natural Pressure Release (NPR) for 5 minutes, then turn or press the steam release valve to release all the remaining steam.
- Carefully open the lid and stir the soup. Add the milk.
- Turn the Instant Pot to Sauté mode and bring the soup to simmer, stirring occasionally, for about 10-15 minutes.
Expert Tips & Info
- Wait until the end of cooking to add salt. Ham and broth can vary in their saltiness, so I recommend that you not add any salt until the soup is fully cooked. Take a taste of the cooked soup, then stir in additional salt to taste.
- Use a ham bone if you have it. I always recommend adding a leftover ham bone to your soup as it cooked because it adds SO MUCH FLAVOR.
- You don’t have to peel potatoes and carrots unless you want to. Potato skins are good for you (they contain potassium, magnesium, and fiber), and will give the soup more of a rustic texture.
- Potatoes work as a natural thickener, which is why only a minimal amount of flour is needed in this recipe.
- If your soup is too thick for your preferences, stir 1/4 cup of broth or water at a time.
- If your soup is too thin, allow it to simmer a little longer to reduce more.
- To store leftovers: Transfer the cooled soup to an airtight container, zip top bag, or a reusable silicone bag. Store it in the refrigerator. Reheat and enjoy within 3-4 days, per USDA.
- To freeze leftovers: This soup freezes beautifully! Transfer the soup to soup cubes or any freezer-safe container. Freeze for up to 2-3 months for the best taste, per USDA. Defrost the frozen soup overnight in the refrigerator, then reheat it as usual.
Ham and potato soup is great served with crusty bread, crackers, a side salad, or any roasted vegetable that you enjoy.
When stored properly in a covered container in the refrigerator, soup will keep for 3-4 days. If frozen, soup should be used within 3-4 months, per USDA.
Ham and potato soup freezes great! To freeze it, transfer the cooled soup to an airtight and freezer-safe container before storing in the freezer. For the best quality and taste, use it within 2-3 months. Defrost the frozen soup overnight in the refrigerator, then reheat it as usual.
Russet and Yukon Gold potatoes are the best potatoes for soup.
I’d love to hear about your experience making this recipe!
Please leave a comment below or tag me on Instagram @cookathomemom.
Creamy, Simple Ham & Potato Soup
- Dutch Oven or large pot with lid
- 3 cups cooked ham diced
- 2 lbs. russet potatoes about 4-5 medium Russet or Yukon Gold potatoes
- 4 cups chicken broth or vegetable broth , 32 oz.
- 2 cups milk
- 3 medium carrots about 1.5 cups diced
- 2 stalks celery about 1 cup diced
- 1/2 large onion about 1 cup diced
- 3 cloves garlic
- 3 Tablespoons flour
- 2-3 Tablespoons butter
- 2 Tablespoons oil
- salt and pepper to taste
- 1 Tablespoon fresh parsley for garnish, optional
- Wash all the produce well. Dice the onions, celery, carrots, ham, and potatoes. Mince the garlic.
- Heat the oil in a pot over medium heat, then add the onions, celery, and carrots. Sauté the vegetables for about 5 minutes, stirring occasionally, until they begin to soften. Add the butter and sprinkle the flour on top of the vegetables. Mix well, stirring constantly, for another 2-3 minutes.
- Stir in the garlic, potatoes, ham, broth, and bay leaves. If you have a ham bone, add it in.Bring it to a simmer and cover the pot. Simmer for about 15 minutes, stopping halfway to stir the soup.
- Uncover the soup and stir in the milk. Allow the soup to simmer, stirring occasionally, for another 10-15 minutes. The longer it simmers, the thicker and creamier the soup will be. Remove the bay leaves and ham bone, if you used it. Taste the soup and season with salt and pepper, if needed. Serve the finished soup and garnish with more pepper and minced parsley.
- Wait until the end of cooking to add salt.
- Peeling the potatoes and carrots is optional!
- Simmer the soup with a ham bone if you have it for extra flavor.
- If the soup is too thick for your preference, stir 1/4 cup of broth or water at a time.
- If the soup is too thin for your preference, allow it to simmer a little longer to reduce more.