Nothing beats the cozy comfort of leftover ham and potato soup on a chilly evening. This rich, creamy leftover ham and potato soup transforms yesterday’s holiday ham into today’s favorite dinner, creating a hearty meal that brings your family back to the table asking for seconds.
SERVES: 4 | PREP: 15 MIN | COOK: 35 MIN | TOTAL: 50 MIN
Ingredients
Base Vegetables
| Ingredient | Amount |
|---|---|
| Butter | 3 tablespoons |
| Yellow onion, diced | 1 large |
| Celery stalks, chopped | 2 medium |
| Carrots, peeled and diced | 2 medium |
| Garlic cloves, minced | 4 cloves |
Potatoes and Ham
| Ingredient | Amount |
|---|---|
| Russet potatoes, peeled and cubed | 2 pounds |
| Leftover ham, diced | 2 cups |
Soup Base
| Ingredient | Amount |
|---|---|
| All-purpose flour | 1/4 cup |
| Chicken broth | 4 cups |
| Whole milk | 2 cups |
| Heavy cream | 1 cup |
| Bay leaves | 2 leaves |
| Dried thyme | 1 teaspoon |
| Black pepper | 1/2 teaspoon |
| Salt | to taste |
Finishing Touches
| Ingredient | Amount |
|---|---|
| Sharp cheddar cheese, shredded | 1 cup |
| Fresh parsley, chopped | 2 tablespoons |
| Green onions, sliced | 2 stalks |
Step-by-Step Instructions
Phase 1: Vegetable Foundation (10 minutes)
Step 1: Place your large soup pot on the stove over medium heat and add 3 tablespoons of butter. Let it melt completely until it stops sizzling and starts to foam slightly. This creates the perfect base for your vegetables to cook evenly without burning.
Step 2: Add your diced onion to the melted butter. Stir them around for 3-4 minutes until they turn translucent and soft. You’ll know they’re ready when you can see through them slightly and they smell sweet rather than sharp.
Step 3: Toss in the chopped celery and diced carrots. Cook these for 5 minutes, stirring every minute or so. The celery should soften and the carrots will brighten in color. This step builds the flavor foundation your soup needs.
Step 4: Add your minced garlic and stir constantly for 30 seconds. Watch carefully here because garlic burns quickly and turns bitter. You want it fragrant and golden, not brown.
Phase 2: Creating the Creamy Base (8 minutes)
Step 5: Sprinkle the 1/4 cup of flour over your vegetables. Stir everything together for 2 minutes without stopping. The flour needs to cook out its raw taste and coat every vegetable piece. You’ll see it form a paste-like mixture called a roux.
Step 6: Pour in 1 cup of chicken broth slowly while stirring vigorously with a whisk. This prevents lumps from forming. The mixture will look thick and pasty at first, which is exactly what you want.
Step 7: Add the remaining 3 cups of chicken broth one cup at a time, whisking after each addition. Your soup base should become smooth and silky. If you see any lumps, whisk harder to break them up.
Step 8: Stir in the whole milk and heavy cream. Mix everything together until the liquid is one uniform color with no streaks. The cream adds richness that makes this soup restaurant-quality.
Phase 3: Building the Soup (20 minutes)
Step 9: Add your cubed potatoes to the pot along with the bay leaves, dried thyme, and black pepper. Stir everything to combine. The potatoes should be submerged in the liquid, with just their tops peeking out.
Step 10: Turn the heat up to medium-high and bring the soup to a gentle boil. You’ll see bubbles breaking the surface regularly. Once boiling, reduce the heat to medium-low to maintain a steady simmer.
Step 11: Let the soup simmer uncovered for 15-18 minutes. Test your potatoes by poking them with a fork every few minutes after the 15-minute mark. They’re done when the fork slides in easily without resistance. The potatoes will also start breaking down slightly, which thickens your soup naturally.
Step 12: While the potatoes cook, take a potato masher and gently press down on about one-third of the potatoes in your pot. This releases their starch and creates a thicker, creamier texture while leaving plenty of chunky potato pieces for texture.
Phase 4: Adding Ham and Finishing (7 minutes)
Step 13: Stir in your diced leftover ham. The ham is already cooked, so you’re just heating it through and letting it soak up the creamy broth. This takes 3-4 minutes of gentle simmering.
Step 14: Fish out the bay leaves with a spoon and throw them away. They’ve done their job flavoring the soup but aren’t meant to be eaten.
Step 15: Taste your soup and add salt as needed. Start with 1/2 teaspoon and add more if you need it. The ham adds saltiness, so be conservative here.
Step 16: Turn off the heat and stir in the shredded cheddar cheese in small handfuls. Let each handful melt completely before adding the next. The cheese should disappear into the soup, making it extra creamy and adding a sharp, tangy flavor.
Step 17: Ladle the hot soup into four bowls. Top each serving with fresh parsley and sliced green onions. These add a pop of color and fresh flavor that balances the rich, creamy soup.
Chef’s Notes
Potato Selection Matters: Russet potatoes break down beautifully and create natural thickening for your leftover ham and potato soup. Their high starch content gives you that creamy consistency without needing extra thickeners.
Ham Bone Bonus: If you have the ham bone from your leftover ham, simmer it in the chicken broth for 30 minutes before starting the recipe. This adds incredible depth and smoky flavor that transforms your soup from good to exceptional.
Cream Temperature: Let your milk and cream sit at room temperature for 30 minutes before adding them to the soup. Cold dairy can cause the soup to curdle or take longer to come back to temperature.
Make-Ahead Magic: This soup actually tastes better the next day. The flavors meld together overnight, creating an even richer taste. Just reheat gently and add a splash of milk if it’s too thick.
Nutrition Information (Per Serving)
Calories: 485
Protein: 24g
Carbohydrates: 42g
Fat: 24g
Fiber: 4g
Sodium: 890mg
Calcium: 285mg
Delicious Variations
Loaded Baked Potato Style: Add 1/2 cup of crispy bacon bits and 1/2 cup of sour cream stirred in at the end. Top each bowl with extra cheese and chives for a loaded baked potato experience in soup form.
Smoky Southwest Twist: Stir in 1 cup of corn kernels and 1 can of diced green chiles with the ham. Replace the cheddar with pepper jack cheese and finish with fresh cilantro instead of parsley.
Chunky Garden Harvest: Add 1 cup of chopped kale and 1/2 cup of frozen peas during the last 5 minutes of cooking. These vegetables add nutrition and color while keeping the soup hearty and filling. If you’re looking for other ways to use leftover ham, try this leftover ham and bean soup that’s equally comforting.
Creamy Cauliflower Blend: Replace 1 pound of potatoes with 1 pound of cauliflower florets. This cuts carbs while maintaining the creamy texture. The cauliflower breaks down just like potatoes, and you can also explore this technique in leftover ham bone soup for maximum flavor extraction.
Storage & Reheating
Refrigerator Storage: Transfer cooled soup to an airtight container. It keeps perfectly for 4-5 days in the fridge. The soup will thicken as it sits, which is completely normal.
Freezer Storage: This soup freezes well for up to 3 months. Leave 1 inch of headspace in your container because the liquid expands when frozen. Label it with the date so you remember when you made it.
Reheating Instructions: Warm the soup over medium-low heat on the stovetop, stirring frequently. Add 1/4 to 1/2 cup of milk or broth to thin it back to your preferred consistency. Don’t let it boil or the dairy might separate.
Microwave Method: Heat individual portions in a microwave-safe bowl for 2-3 minutes, stirring every minute. Add a splash of milk before heating to prevent the soup from getting too thick.
Texture Fix: If your reheated soup seems grainy or separated, blend 1 cup of it in a blender until smooth, then stir it back into the pot. This re-emulsifies the dairy and brings back that silky texture.
Troubleshooting Common Problems
Problem 1: Soup Is Too Thin
Mix 2 tablespoons of cornstarch with 2 tablespoons of cold water to make a slurry. Stir this into your simmering soup and cook for 3-4 minutes. The soup will thicken as it cools too, so wait before adding more thickener.
Problem 2: Soup Tastes Bland
Your ham might not have been salty enough. Add 1/2 teaspoon of salt at a time, tasting between additions. Also try 1/4 teaspoon of smoked paprika or a dash of hot sauce to wake up the flavors.
Problem 3: Potatoes Are Mushy
You cooked them too long or at too high a heat. Next time, check them at 15 minutes and remove the pot from heat as soon as your fork slides through easily. The residual heat will finish cooking them.
Problem 4: Dairy Curdled or Separated
This happens when the soup gets too hot or the dairy was too cold. Next time, temper your dairy by adding 1/4 cup of hot soup to the cold cream first, then pour it all back into the pot. Keep the heat at medium-low after adding dairy.
Problem 5: Soup Is Too Thick After Refrigeration
The starches from the potatoes continue absorbing liquid. When reheating, thin it out with chicken broth instead of water. Broth maintains the flavor while water dilutes it. Start with 1/2 cup and add more as needed.
Equipment Essentials

- Large soup pot or Dutch oven (6-8 quart capacity)
- Sharp chef’s knife for dicing vegetables
- Cutting board
- Vegetable peeler for potatoes and carrots
- Wooden spoon or silicone spatula for stirring
- Whisk for smooth roux-making
- Measuring cups and spoons
- Potato masher
- Ladle for serving
- Box grater for cheese (pre-shredded works too)
Shopping List
Produce Section
- Yellow onion (1 large)
- Celery (2 stalks)
- Carrots (2 medium)
- Garlic (1 bulb)
- Russet potatoes (2 pounds)
- Fresh parsley (1 bunch)
- Green onions (1 bunch)
Dairy Section
- Butter (3 tablespoons)
- Whole milk (2 cups)
- Heavy cream (1 cup)
- Sharp cheddar cheese (1 cup shredded)
Meat Section
- Leftover ham (2 cups diced) – or purchase deli ham
Pantry & Baking
- All-purpose flour (1/4 cup)
- Chicken broth (4 cups)
- Bay leaves
- Dried thyme
- Black pepper
- Salt
Success Secrets
1. Cut Everything the Same Size: Dice your potatoes, carrots, and onions into 1/2-inch pieces. Uniform sizing means everything cooks at the same rate, preventing some vegetables from being mushy while others stay crunchy.
2. Don’t Skip the Roux: That flour and butter mixture you make in the beginning is what gives your soup its creamy, velvety texture. Cook it for the full 2 minutes to remove any raw flour taste.
3. Low and Slow Wins: After adding your dairy, never let the soup come to a rolling boil. High heat causes the milk proteins to separate and creates a grainy texture. Keep it at a gentle simmer.
4. Layer Your Flavors: Each step builds on the last. Browning the vegetables, cooking the flour, and simmering everything together creates complex flavors you can’t get from just dumping everything in a pot at once.
5. Save Some Ham for Topping: Set aside 1/4 cup of diced ham before adding it to the soup. Crisp these pieces in a skillet and use them as a crunchy garnish. This adds textural contrast that makes each bite more interesting.
This leftover ham and potato soup proves that the best meals often come from using what you already have. Your family will love this warming, satisfying bowl of comfort food.



