This ham and potato soup is exactly the kind of meal I reach for when the weather turns cold and I have leftover ham sitting in the fridge with nowhere to go. It is thick, creamy, and loaded with tender potatoes and salty bites of ham in every spoonful. You only need one pot, about 45 minutes, and a handful of ingredients you probably already have on hand.
Large Dutch oven or heavy stockpot Heavy-bottomed pot for even cooking
Sharp chef's knife
Cutting board
Wooden spoon
Measuring cups and spoons
Ladle
Immersion blender (optional) For thickening soup right in the pot
Box grater (optional) For shredding block cheese
Ingredients
2tablespoonsbutter
1mediumyellow oniondiced
2stalkscelerydiced
2mediumcarrotsdiced
3clovesgarlicminced
1/3cupall-purpose flourabout 40g
4cupslow-sodium chicken broth960ml
2poundsrusset potatoesabout 900g, peeled and diced into 1/2-inch cubes
1leafbay leaf
1/2teaspoondried thyme
2cupscooked hamabout 300g, diced
1cupwhole milk240ml
1/2cupheavy cream120ml
salt and black pepperto taste
For Serving
1cupsharp cheddar cheeseabout 100g, shredded, for topping
fresh chives or parsleychopped, for garnish
Instructions
Melt butter in a large Dutch oven or stockpot over medium heat. Add onion, celery, and carrots and cook for 5-6 minutes until softened and onion is translucent. Add garlic and cook 30 seconds until fragrant.
Sprinkle flour over the vegetables and stir constantly for 1-2 minutes until the flour cooks slightly and loses its raw taste.
Slowly pour in chicken broth while whisking constantly to prevent lumps. Add diced potatoes, bay leaf, and thyme. Stir and bring to a gentle boil.
Reduce heat to low, cover, and simmer for 15-18 minutes until potatoes are fork-tender.
Discard bay leaf. Stir in diced ham, whole milk, and heavy cream. Simmer uncovered on low heat for 5-7 minutes until heated through and slightly thickened. Do not let boil.
Season with salt and pepper to taste. Ladle into bowls and top with shredded cheddar cheese and fresh chives or parsley.
Notes
Cut potatoes into evenly sized cubes so they cook at the same rate.
Whisk the broth in slowly when adding it to the roux to avoid lumps.
Use a ham bone if you have one for an extra boost of flavor while simmering.
Stir in the dairy at the end and keep the heat low to prevent curdling.
Taste before adding salt, since ham and broth both bring plenty on their own.
For a thicker soup, mash a few potato pieces against the side of the pot or use an immersion blender to puree about a third of the soup.
Substitutions: Swap half the potatoes for cauliflower florets for a lighter version, or stir in a cup of corn kernels for sweetness.
Storage: Refrigerate in an airtight container for up to 4 days. Freeze for up to 2 months (potatoes may soften slightly). Reheat gently on the stovetop with a splash of milk or broth if needed.
For best melting, shred cheese from a block rather than using pre-shredded bags.