Finding a hearty, comforting soup that uses up leftover ham and feels like a warm hug on a cold day can be tough. After all, most soup recipes either take forever to make, require fancy ingredients you don’t have, or end up tasting bland and boring, and things get even trickier when you’re trying to feed a hungry family on a weeknight.
Luckily, this loaded ham and potato soup checks all the boxes: it’s rich and satisfying, comes together in one pot with simple ingredients, and perfect for using up that ham sitting in your fridge from Sunday dinner.

Why You’ll Love This Loaded Ham and Potato Soup
- Quick and easy – Ready in under an hour, this soup is perfect for busy weeknights when you want something warm and filling without spending all evening in the kitchen.
- Great way to use leftover ham – This recipe is ideal for using up that holiday ham sitting in your fridge, turning it into a completely different meal your family will love.
- Hearty and satisfying – Loaded with potatoes, ham, and vegetables in a creamy broth, this soup is filling enough to be a complete meal on its own.
- Simple, everyday ingredients – You probably have most of these staples already in your pantry and fridge, making this an easy recipe to throw together any time.
- Comfort food at its best – The creamy, savory soup with tender potatoes and smoky ham is the kind of cozy meal that warms you up from the inside out.
What Kind of Potatoes Should I Use?
For this loaded ham and potato soup, you’ll want to reach for russet or Yukon gold potatoes. Russets are great because they break down a bit as they cook, which naturally thickens the soup and gives it that creamy, comforting texture. Yukon golds hold their shape better if you prefer chunkier potato pieces in your soup, plus they have a buttery flavor that works really well here. Either way, make sure to peel and cube your potatoes into bite-sized pieces so they cook evenly and are easy to eat with a spoon.
Options for Substitutions
This soup is pretty forgiving when it comes to swaps, so here are some options if you need to make changes:
- Ham: Leftover holiday ham works great here, but you can also use diced deli ham, cooked bacon pieces, or even rotisserie chicken if you’re not in the mood for ham. Smoked turkey is another solid choice that keeps that savory flavor.
- Potatoes: Any potato will do the job – russets, red potatoes, or Yukon golds all work fine. Just keep in mind that russets will break down more and make your soup thicker, while waxy potatoes like reds hold their shape better.
- Vegetable broth: Chicken broth is an easy swap and actually adds more depth to the soup. You can also use ham or turkey stock if you have it on hand.
- Milk: Heavy cream makes the soup richer, or you can use half-and-half for something in between. For a lighter version, stick with whole milk or even 2% milk.
- Butter and flour roux: If you want to skip the roux, you can thicken the soup by mashing some of the cooked potatoes against the side of the pot, or blend about a cup of the soup and stir it back in.
- Fresh vegetables: Don’t have fresh carrots, celery, or onion? Frozen mixed vegetables work in a pinch – just add them when you add the potatoes.
Watch Out for These Mistakes While Cooking
The biggest mistake when making this soup is adding the flour mixture too quickly without whisking constantly, which creates lumps that are nearly impossible to smooth out – take your time and whisk continuously while the butter and flour cook together to form a smooth roux.
Another common error is cutting your potatoes into uneven pieces, leading to some chunks being mushy while others stay hard, so aim for uniform 1/2-inch cubes that cook at the same rate.
Don’t let your soup come to a rolling boil after adding the milk mixture, as high heat can cause the dairy to separate and give you a grainy texture instead of creamy – keep it at a gentle simmer.
For extra flavor, cook your vegetables until they’re slightly caramelized before adding the broth, and if your soup gets too thick, simply thin it out with a splash of broth or milk until you reach your preferred consistency.
What to Serve With Loaded Ham and Potato Soup?
This hearty soup is pretty filling on its own, but I love serving it with some warm, crusty bread or dinner rolls for soaking up all that creamy goodness. A simple side salad with mixed greens and a light vinaigrette helps balance out the richness of the soup and adds a nice fresh crunch. If you want to make it more of a complete meal, try adding some roasted vegetables on the side like green beans or broccoli. For an extra cozy dinner, cornbread muffins are another great option that pair really well with the savory ham and potato flavors.
Storage Instructions
Store: This loaded ham and potato soup keeps really well in the fridge. Transfer it to an airtight container once it’s cooled down, and it’ll stay fresh for up to 4 days. The flavors actually get even better the next day, so it’s great for making ahead for easy weeknight dinners.
Freeze: You can freeze this soup for up to 3 months in freezer-safe containers or bags. Just keep in mind that the potatoes might change texture slightly after freezing, becoming a bit softer or grainier. It still tastes delicious though, especially if you give it a good stir when reheating.
Reheat: Warm the soup gently on the stovetop over medium-low heat, stirring occasionally. You can also use the microwave in 2-minute intervals, stirring in between. If it seems too thick after storing, just add a splash of milk or broth to thin it out to your liking.
| Preparation Time | 10-15 minutes |
| Cooking Time | 30-40 minutes |
| Total Time | 40-55 minutes |
| Level of Difficulty | Medium |
| Servings | 6 servings |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 1500-1700
- Protein: 60-75 g
- Fat: 60-70 g
- Carbohydrates: 160-180 g
Ingredients
For the soup base:
- 2 tbsp olive oil (I prefer Bertolli for a mild flavor)
- 3 carrots (diced into 1/2-inch pieces)
- 4 celery ribs
- 1 onion
- 2 potatoes (peeled and cut into 1-inch chunks)
- 6 cups vegetable broth (I always use Swanson for the best base)
- 2 cups ham (cubed into 1/2-inch bite-sized pieces)
- 1 1/2 tsp pepper
- 1/2 tsp garlic powder
- salt
For the cream mixture:
- 2 tbsp butter (I like Kerrygold for extra richness)
- 1/4 cup flour
- 2 cups milk (room temperature avoids clumping in the roux)
- 2 tbsp parsley
Step 1: Prepare Mise en Place
- 3 carrots
- 4 celery ribs
- 1 onion
- 2 potatoes
- 2 cups ham
Dice the carrots into 1/2-inch pieces, chop the celery ribs, dice the onion, and cut the peeled potatoes into 1-inch chunks.
Cube the ham into 1/2-inch bite-sized pieces.
Having everything prepped and ready will make the cooking process smooth and prevent overcooking any component while you’re chopping.
Step 2: Build the Aromatic Base
- 2 tbsp olive oil
- 3 carrots
- 4 celery ribs
- 1 onion
Heat the olive oil in a large pot over medium heat.
Add the diced carrots, celery, and onion, sautéing for 5 minutes until they soften slightly and become fragrant.
This foundation builds flavor depth into the entire soup—don’t skip this step or rush it.
Step 3: Simmer the Potatoes and Ham
- 2 potatoes
- 6 cups vegetable broth
- 2 cups ham
Add the potato chunks, vegetable broth, and cubed ham to the pot with the sautéed vegetables.
Bring to a boil, then reduce heat and simmer for 15 minutes until the potatoes are fork-tender.
While this simmers, you’ll prepare the roux in the next step, so timing works perfectly in parallel.
Step 4: Create the Roux and Milk Base
- 2 tbsp butter
- 1/4 cup flour
- 2 cups milk
While the soup simmers, melt the butter in a separate small pan over medium heat.
Whisk in the flour and cook for 1 minute to remove the raw flour taste.
Gradually whisk in the room-temperature milk (room temperature prevents lumps from forming) and cook for about 4 minutes, stirring frequently, until the mixture thickens into a smooth cream sauce.
I like to use warm milk rather than cold because it incorporates more smoothly into the roux.
Step 5: Combine and Thicken the Soup
- simmered soup from Step 3
- milk mixture from Step 4
- 1 1/2 tsp pepper
- 1/2 tsp garlic powder
When the potatoes are tender, stir the pepper and garlic powder into the soup.
Pour the roux mixture from Step 4 into the pot while stirring constantly to incorporate it smoothly without lumps.
Continue cooking for about 10 minutes over medium-low heat, stirring occasionally, until the soup reaches your desired thickness and flavors meld together.
Step 6: Finish and Season
- salt
- 2 tbsp parsley
Taste the soup and add salt to your preference, starting with a small pinch since the broth and ham already provide saltiness.
Stir in the fresh parsley just before serving for bright color and fresh flavor.
Serve the soup hot and enjoy—this recipe yields enough for a hearty main course or multiple servings.

Classic Loaded Ham and Potato Soup
Ingredients
For the soup base::
- 2 tbsp olive oil (I prefer Bertolli for a mild flavor)
- 3 carrots (diced into 1/2-inch pieces)
- 4 celery ribs
- 1 onion
- 2 potatoes (peeled and cut into 1-inch chunks)
- 6 cups vegetable broth (I always use Swanson for the best base)
- 2 cups ham (cubed into 1/2-inch bite-sized pieces)
- 1 1/2 tsp pepper
- 1/2 tsp garlic powder
- salt
For the cream mixture::
- 2 tbsp butter (I like Kerrygold for extra richness)
- 1/4 cup flour
- 2 cups milk (room temperature avoids clumping in the roux)
- 2 tbsp parsley
Instructions
- Dice the carrots into 1/2-inch pieces, chop the celery ribs, dice the onion, and cut the peeled potatoes into 1-inch chunks. Cube the ham into 1/2-inch bite-sized pieces. Having everything prepped and ready will make the cooking process smooth and prevent overcooking any component while you're chopping.
- Heat the olive oil in a large pot over medium heat. Add the diced carrots, celery, and onion, sautéing for 5 minutes until they soften slightly and become fragrant. This foundation builds flavor depth into the entire soup—don't skip this step or rush it.
- Add the potato chunks, vegetable broth, and cubed ham to the pot with the sautéed vegetables. Bring to a boil, then reduce heat and simmer for 15 minutes until the potatoes are fork-tender. While this simmers, you'll prepare the roux in the next step, so timing works perfectly in parallel.
- While the soup simmers, melt the butter in a separate small pan over medium heat. Whisk in the flour and cook for 1 minute to remove the raw flour taste. Gradually whisk in the room-temperature milk (room temperature prevents lumps from forming) and cook for about 4 minutes, stirring frequently, until the mixture thickens into a smooth cream sauce. I like to use warm milk rather than cold because it incorporates more smoothly into the roux.
- When the potatoes are tender, stir the pepper and garlic powder into the soup. Pour the roux mixture from Step 4 into the pot while stirring constantly to incorporate it smoothly without lumps. Continue cooking for about 10 minutes over medium-low heat, stirring occasionally, until the soup reaches your desired thickness and flavors meld together.
- Taste the soup and add salt to your preference, starting with a small pinch since the broth and ham already provide saltiness. Stir in the fresh parsley just before serving for bright color and fresh flavor. Serve the soup hot and enjoy—this recipe yields enough for a hearty main course or multiple servings.

