Go Back Email Link
+ servings

FOLLOW ALONG! Subscribe to my newsletter and follow along on Facebook, Pinterest and Instagram for the latest updates, recipes and content.


Ham and Potato Soup

This easy Ham and Potato Soup is made in one pot on the stovetop. It's thick, hearty, comforting, and the perfect way to use any leftover holiday ham!
Course lunch, Main Course, Soup
Cuisine American
Keyword ham and potato soup
Prep Time 15 minutes
Cook Time 20 minutes
Total Time 35 minutes
Servings 6 servings
Calories 336kcal
Author Chelsea Lords
Cost $6.72


  • 1 tablespoon olive oil, separated
  • 1 and 1/2 cups cubed leftover (fully cooked) ham
  • 1 small yellow onion, diced (~1 cup)
  • 1 large carrot, diced (heaping 1/2 cup)
  • 1 stalk celery, diced (heaping 1/2 cup)
  • 1 and 1/2 teaspoons minced garlic (~2 cloves)
  • 3 tablespoons unsalted butter
  • 3 tablespoons white flour
  • 3/4 teaspoon EACH: dried thyme, dried oregano
  • 1/8 teaspoon ground cayenne pepper, optional
  • Seasoned salt and freshly cracked pepper
  • 3 cups milk (1%, 2% or whole; whole will be creamiest and what I typically use)
  • 1 and 1/2 cups chicken stock or broth
  • 2 cups Yukon gold potatoes, diced (peeled if desired) (See Note 1)
  • 1 and 1/2 cups frozen corn
  • 1 cup freshly grated sharp Cheddar cheese
  • Optional: fresh thyme or fresh parsley


  • HAM: Add 1/2 tablespoon olive oil to a large cast-iron pot over high heat. Once the oil is shimmering, add in the chopped ham and sauté for 1-2 minutes until lightly browned. Remove to a paper-towel-lined plate. Quickly dry the pot and return to the stove top.
  • VEGGIES: Over high heat, add the remaining 1/2 tablespoon olive oil and once shimmering, add the 1 cup diced onion, heaping 1/2 cup carrot, and heaping 1/2 cup celery. Sauté for 4-5 minutes until the onion is translucent. Add in the 1 and 1/2 teaspoons garlic and stir for another minute.
  • THICKEN: Add the butter to the pot and stir until melted. Once melted, sprinkle in the flour. Stir for 1 minute to cook off the raw flavor of the flour. Add the seasonings: the 3/4 teaspoon dried thyme, 3/4 teaspoon dried oregano, and 1/8 teaspoon cayenne pepper (if desired). Season to taste with salt and pepper. Stir seasonings for 30 seconds. Pour in 1 cup of milk and whisk until it starts to thicken (~1 minute); then pour in the remaining two cups of milk. Whisk until it thickens (~2-3 minutes) and then add in the 1 and 1/2 cups chicken stock. Whisk until slightly thickened (another ~1-2 minutes). (See Note 2)
  • POTATOES: Bring the soup to a boil, slightly lower the heat to medium, and add the potatoes to the soup. Cook for 8 to 12 minutes, stirring often. The soup will thicken as it cooks and the potatoes should be fork tender after 8-10 minutes. (If the soup has thickened too much, add in a splash of additional chicken stock; I usually add up to 1/2 cup extra.)
  • HAM AND CORN: Once the potatoes are fork tender, stir in the corn and the ham you set aside earlier. Heat through. Decrease the heat to low and add in the freshly grated cheese. Stir until just melted and then taste for seasonings. Remove from heat.
  • SERVE: Serve bowls of soup garnished with fresh thyme or parsley, if desired.


Note 1: Make sure to dice the potatoes into small pieces (1/2-inch) so they can cook through in the 8-12 minutes indicated in the recipe. Larger potato chunks will need to simmer longer, which will result in too much liquid being absorbed.
Note 2: As the soup simmers and thickens, be sure to stir it often and scrape the bottom as you stir. (The flour and butter have a tendency to stick to the bottom which will result in a soup that doesn't thicken properly.)


Serving: 6servings | Calories: 336kcal | Carbohydrates: 25.6g | Protein: 16.6g | Fat: 18.7g | Cholesterol: 62.7mg | Sodium: 744.6mg | Fiber: 2.1g | Sugar: 9g