Soups & Stews
This is the best ham and potato soup recipe ever—the kind of soul-warming comfort that turns a simple weeknight into a cozy tradition. The secret lies in layering flavors—smoky paprika, sweet ham, and creamy potatoes—simmered until every spoonful feels like a hug. I've perfected it over years of testing, ensuring the broth stays rich while the potatoes achieve that just-tender, velvety texture.
The magic begins with caramelizing onions and garlic until they're deep golden, then building depth with smoked spices before adding the ham. This isn't just soup—it's a flavor bomb that gets better with time, staying warm and comforting for days.
The recipe balances traditional techniques with modern twists, like a splash of apple cider that brightens the richness without overpowering the ham's natural sweetness.
By the time you're ladling it into bowls, you'll have a soup that's creamy yet light, smoky yet balanced, with potatoes that melt in your mouth.
The aroma alone will have everyone gathering around the table, and the first bite delivers on that promise of restaurant-quality comfort food made at home.
Perfect for chilly evenings, holiday gatherings, or when you need a meal that feeds both body and soul. Let's get started on creating this timeless classic that'll become your new favorite.
Ingredients for best ham and potato soup recipe ever
Six servings of smoky-sweet comfort—just these 14 ingredients transform into a soul-warming hug in a pot.
| Ingredient | Amount | Notes |
|---|---|---|
| Ham Bone or Ham Steak 🥓 | 1 ½ lb | Smoked ham preferred for flavor |
| Yellow Onions 🧅 | 2 whole | Medium-sized, diced small |
| Garlic Cloves 🧄 | 4 cloves | Fresh, minced for depth |
| Russet Potatoes 🥔 | 2 ½ lb | Yukon gold works too |
| Carrots 🥕 | 2 whole | Medium, peeled and chopped |
| Celery Stalks 🌿 | 3 whole | Trimmed, chopped small |
| Smoked Paprika 🌶️ | 1 tbsp | For that smoky depth |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked preferred |
| Apple Cider 🍎 | ½ cup | Unfiltered for brightness |
| Chicken or Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Heavy Cream 🥛 | ½ cup | Full-fat for richness |
| Fresh Thyme 🌿 | ¼ cup | Leaves only, chopped fine |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Butter 🧈 | 2 tbsp | Unsalted, for caramelizing |
The ham is everything here. Smoked ham bone gives the broth depth, but ham steak works too—just simmer it until tender. I always grab Oscar Mayer smoked ham from the deli section, but any good-quality smoked ham does the trick. The potatoes? Russet or Yukon gold—both hold up beautifully, but Yukon golds stay creamier. Caramelizing those onions and garlic in butter until deep golden sets the flavor foundation. Don't rush this step—it's where the magic happens. I usually chop my onions while the ham simmers, so everything's ready when I need it.
No smoked paprika? Regular paprika plus a pinch of liquid smoke gets you close. Fresh thyme out of season? Dried works at one-third the amount. The apple cider is non-negotiable though—it brightens the richness without overpowering. Trader Joe's unfiltered cider is my go-to, but any good-quality cider works. For the broth, low-sodium is key—you'll be adding plenty of salt later. And if you're watching calories, half-and-half or coconut milk can replace the heavy cream. The cream is what makes this soup luxurious, but you can skip it for a lighter version.
This soup tastes even better the next day—honestly, it's worth making a double batch. Keeps for 4-5 days in the fridge, and freezes beautifully for up to 3 months. I always portion mine into containers so lunches are sorted for the week. The ham bone? Save it for sandwiches or another batch of soup. And if you have leftovers, a sprinkle of fresh parsley makes it feel like a fresh meal. Store the broth separately if you want to reheat it without making the potatoes mushy.
Why You'll Love This Recipe
- One-Pot Wonder: I swear by this recipe because it’s literally one pan, one pot, and done. No chopping boards to wash—just dice the onions and potatoes while the ham bone simmers, and let the broth work its magic. Honestly, I’ve made it after a long day when I just wanted to sit down, and it still tasted like I’d spent hours.
- Deep Umami Magic: That ham bone? It’s the secret weapon—slow-roasted until the meat falls off, then tossed into the broth for layers of savory depth. The garlic and carrots caramelize just enough to give it that real homemade taste, not the canned-soup version. Between us, I’ve had fancy restaurant soups that didn’t hit this hard.
- Leftovers That Beg: This soup only gets better the next day. The flavors meld, the potatoes soften just right, and it’s still hearty enough to pack for lunch. I’ll be real: my freezer is full of containers of this because I can’t resist reheating it—even when I know I should eat something else.
- Budget Feast: A single ham bone stretches for six servings, and the rest of the ingredients cost pennies. You’re feeding a crowd for less than takeout, and it’s the kind of meal that makes people sigh with happiness. Not the prettiest, but the taste makes up for it—and my wallet thanks me every time.
Step-by-step instructions for smoky-sweet ham and potato soup
This isn't your average ham soup—it's a rich, layered creation with smoky depth and velvety texture that keeps improving overnight.
Build Deep Flavor with Ham and Aromatics
Start by placing the 1.5 lb ham bone or ham steak in a large Dutch oven or heavy pot. If using a bone, crack it lightly with a hammer to expose more marrow for richer flavor. Add the 2 tbsp butter and place the pot over medium-high heat. Let the butter melt completely, then add the 2 whole diced yellow onions and cook for 8-10 minutes until they turn golden brown and caramelize.
This is where the magic begins—don't rush this step. You'll know the onions are ready when they smell sweet and deep, with visible brown spots forming. Add the 4 minced garlic cloves and cook for another 30 seconds until fragrant. Sprinkle in the 1 tbsp smoked paprika and 0.5 tsp ground black pepper, stirring constantly for 1 minute to toast the spices. This creates the smoky-sweet foundation that makes this soup exceptional.
Create the Vegetable Base
Add the 2.5 lb russet potatoes (cut into 1-inch cubes), 2 peeled and chopped carrots, and 3 chopped celery stalks to the pot. Stir everything together, then pour in the 0.5 cup apple cider. The cider will help tenderize the vegetables while adding a subtle sweetness that balances the smokiness. Pour in the 4 cups chicken or vegetable broth and bring the mixture to a boil over high heat. Once boiling, reduce heat to medium-low and let it simmer uncovered for 20 minutes.
Here's the thing—you want the vegetables to partially cook but still maintain some bite. After 20 minutes, use a wooden spoon to press down on the potatoes. They should be fork-tender but not falling apart. If they're still firm, continue simmering for another 5-10 minutes. This step ensures your soup has texture, not mush.
Simmer with Ham and Season
Remove the ham bone or steak from the pot and set it aside. Skim off any foam that rises to the surface. Return the ham to the pot and add the 1.5 tsp salt. Bring the soup back to a gentle simmer over medium heat. Cook for another 15-20 minutes, stirring occasionally, until all the vegetables are tender and the flavors have melded together. The ham should be fully cooked and easily shreddable if using a steak.
Taste the soup at this stage. You're looking for a balance of sweetness from the cider, smokiness from the paprika, and depth from the ham. If it needs more salt, add a pinch at a time. If it's too thin, reduce the heat and let it simmer uncovered for another 5 minutes to thicken slightly. The goal is a rich, velvety broth that coats the back of a spoon.
Finish with Cream and Thyme
Remove the pot from heat and let it cool for 5 minutes. Stir in the 0.5 cup heavy cream and 0.25 cup chopped fresh thyme. The cream adds luxurious richness while the thyme brings bright, herbal notes that cut through the richness. If you're using a ham bone, remove it now and discard it (or save it for stock). If using a ham steak, shred it and return it to the pot.
Return the soup to low heat and let it simmer gently for 5-7 minutes—just enough to warm through without breaking the cream. The soup should be thick enough to coat a spoon but still spoonable. If it's too thick, stir in 2-3 tablespoons of hot broth to reach your desired consistency. Real talk: this is the moment that matters. The cream should be fully incorporated and the soup should be silky smooth.
Rest and Serve Warm
Let the soup rest for 10-15 minutes before serving. This allows the flavors to fully meld and the cream to set slightly, giving you that perfect texture with each spoonful. Ladle the soup into bowls, garnishing each serving with a sprinkle of fresh thyme and an extra pinch of smoked paprika for visual appeal and flavor.
This soup tastes even better the next day as the flavors deepen and the cream fully integrates. Serve it with crusty bread to soak up every last drop of that smoky-sweet broth. Trust me, once you try this version, you'll never go back to basic ham soup again—it's truly the best you'll ever make.
Pro Tips For Making Best Ham And Potato Soup Recipe Ever
- CRISP THE HAM FIRST: I learned this the hard way—skipping the sear on your ham bone or steak means flavor hiding in the broth. Hit it with a hot pan (no oil needed) until deep brown, then deglaze with a splash of broth. That crust? It’s where the magic lives.
- CUT POTATOES UNEVENLY: Russets break when cubed neatly. Instead, rough-chop them into 1.5-inch chunks—some bigger, some smaller. They’ll cook at different rates, so you’ll end up with a mix of creamy and tender bites. (Yes, even if you’re impatient like me.)
- SIMMER LOW AND LONG: After adding potatoes and carrots, drop the heat to a bare simmer—no rolling boil. Too hot and your potatoes turn to mush; too low and the broth never develops depth. Aim for tiny bubbles at the edges, and let it work for at least 45 minutes. (Your future self will thank you.)
- SAVE THE HAM BROTH: If using a ham steak instead of a bone, resist the urge to toss the cooking liquid. Strain it, reduce it by half, then swirl it back into the soup at the end. It adds richness without heaviness—like a secret sauce. (I skip this when I’m lazy, but the dish is noticeably better when I don’t.)
Pro cooking tips for best ham and potato soup recipe ever
Caramelize Onions Perfectly
This is where the soup's soul gets built. Cook the 2 diced yellow onions in 2 tbsp butter over medium-high heat for 8-10 minutes until deep golden brown with visible caramelization. The key is patience—don't stir constantly, just let them develop those sweet, jammy spots.
I use a 10-inch cast iron skillet for even browning, and I promise you'll taste the difference. 🌡️
Smoked Paprika Timing
Add the 1 tbsp smoked paprika and 0.5 tsp black pepper to the onions right after the garlic (after 8-10 minutes of cooking). Toast the spices for 1 full minute while stirring constantly—this releases their aromatic oils and creates that signature smoky depth.
If you skip this step, you'll miss the complex flavor that makes this soup stand out from basic ham recipes.
Potato Texture Mastery
Cut potatoes into 1-inch cubes for even cooking. After adding them to the simmering broth, check for doneness at 20 minutes by pressing a cube with a wooden spoon—it should be fork-tender but not falling apart.
If they're still firm, simmer uncovered for another 5-10 minutes. Overcooking turns potatoes mushy, so keep an eye on them. Yukon golds stay creamier than russets when handled this way.
Apple Cider Brightness
The 0.5 cup apple cider isn't just for flavor—it tenderizes the vegetables while adding subtle sweetness that balances the smokiness. Use unfiltered cider like Trader Joe's for maximum depth, and add it before the broth so it infuses completely.
This is the secret ingredient that makes this soup taste like it simmered all day, even if you're short on time. 🍎
Cream Integration Trick
After removing the pot from heat, let the soup cool for 5 minutes before stirring in the 0.5 cup heavy cream. Return to low heat for just 5-7 minutes—no more! This gentle reheating ensures the cream blends smoothly without curdling.
If the soup thickens too much, thin it with 2 tbsp hot broth. The result should be velvety, not greasy—this is where restaurant-quality texture comes from.
Rest Before Serving
Never skip the 10-15 minute rest before serving. This allows the cream to fully incorporate and the flavors to meld completely. The soup will taste even richer the next day, so double the batch if you can—it's worth the effort.
Garnish with fresh thyme and a pinch of smoked paprika for that final wow factor that makes guests ask for seconds. ✨
Nutrition facts
Frequently asked questions
Can I make this soup without heavy cream?
For a lighter version, substitute with ½ cup half-and-half or ½ cup coconut milk for dairy-free. If you prefer no dairy at all, try ¼ cup Greek yogurt stirred in at the end—it adds creaminess without the heaviness. The soup will still be rich and satisfying, just with a slightly different texture.
How do I store leftovers to keep them tasting fresh?
Store in an airtight container in the fridge for up to 4-5 days. The flavors actually deepen overnight! For freezing, portion into containers and freeze for up to 3 months. Reheat gently on the stove over low heat—never microwave—to preserve the creamy texture. Stir in a splash of broth if it seems too thick after reheating.
What if my potatoes turn out mushy?
This usually happens from overcooking or using the wrong potato type. For next time, cut potatoes into 1-inch cubes and simmer uncovered for 20-25 minutes max. Russets hold up better than red potatoes. If it happens, mash a small portion with a fork and stir it back into the soup—this helps thicken the broth and creates a more cohesive texture.
Can I use canned ham instead of fresh?
Yes, but choose high-quality smoked canned ham (like Hormel or Dinty Moore). Drain it well and pat dry before adding to the soup. For extra flavor, simmer it in the broth for 10 minutes first to infuse the liquid. If using pre-cooked ham, add it during the final 15 minutes of cooking to prevent it from drying out.
Why does my soup taste thin after adding cream?
This happens when the cream gets too hot and breaks down. Always let the soup cool for 5 minutes before adding cream, then reheat on low heat for just 5-7 minutes. If it still seems thin, stir in 1 tbsp cornstarch mixed with 2 tbsp cold water and simmer for 2 minutes until thickened. The key is gentle heat—no boiling!
