Soups & Stews
This best ham and potato soup recipe ever delivers the kind of rich, comforting depth that transforms a simple meal into something extraordinary. š The secret lies in slow-cooked ham infused with smoky bacon and layers of caramelized onions that build flavor with every spoonful.
After years of testing variations, this is the version that consistently earns "best" from even the most critical taste testers.
What sets this recipe apart is the technique: bone-in ham simmers for hours, releasing collagen that creates a naturally thick, velvety broth without needing heavy cream. The potatoes develop a creamy texture while absorbing all that savory goodness, and the bacon adds a smoky counterpoint that elevates every bite.
It's the kind of soup that tastes even better the next day as flavors meld completely.
By the time you're done, you'll have a steaming bowl of soup with tender ham pieces, perfectly cooked potatoes, and a broth so flavorful it practically tastes homemade.
The aroma alone will have everyone gathering around your kitchen, and the first spoonful delivers on that promise of restaurant-quality comfort food at home. Ready in about 1 hour 15 minutes, it's perfect for chilly evenings or when you need a meal that feels like a hug.
The beauty of this recipe is its flexibilityāadd fresh herbs at the end for brightness, serve with crusty bread for dipping, or make a double batch to freeze for future lazy Sundays.
Each element comes together to create something greater than the sum of its parts, proving that the best soups are the ones that feel like love in a bowl.
Ingredients for best ham and potato soup recipe ever
Six ingredients transform into the most comforting bowl of soup you'll ever makeāsmoky, rich, and full of love.
| Ingredient | Amount | Notes |
|---|---|---|
| Bone-In Ham š· | 1 ½ lb | Center-cut, with rind removed |
| Bacon š„ | 6 oz | Thick-cut, smoked preferred |
| Yellow Onions š§ | 2 large | Thinly sliced for caramelizing |
| Carrots š„ | 4 medium | Peeled, cut into 1-inch chunks |
| Russet Potatoes š„ | 2 lb | Yukon gold or red potatoes work too |
| Celery Stalks š§ | 3 medium | Diced, with leaves included |
| Garlic Cloves š§ | 4 cloves | Minced, not powdered |
| Chicken Broth š§ | 6 cups | Low-sodium preferred |
| Whole Milk š„ | 1 cup | Full-fat for creaminess |
| All-Purpose Flour š¾ | 2 tbsp | For thickening broth |
| Fresh Thyme šæ | 1 tbsp | Leaves only, chopped |
| Fresh Parsley šæ | ¼ cup | Chopped, for garnish |
| Salt š§ | 2 tsp | Kosher or sea salt |
| Black Pepper š¶ļø | ½ tsp | Freshly ground preferred |
| Bay Leaves šæ | 2 whole | Remove before serving |
The ham is non-negotiable hereābone-in releases the most flavor, and center-cut stays tender. Smithfield or Hormel are solid choices, but any quality ham works. Thick-cut bacon makes all the differenceāOscar Mayer or Applewood smoked are my go-tos. Caramelizing the onions is where the magic happensādon't rush this step. The onions should be golden brown, almost jammy, with that deep, sweet flavor that makes the whole soup sing. Yellow onions have the best balance of sweetness and sharpness for this dish.
No thick-cut bacon? Regular bacon at half the amount works in a pinch, but trust me on the full-fat version. Running out of thyme? Dried thyme at one-third the amount gets you close, but fresh is ideal. The flour is just for thickeningāif you're watching carbs, arrowroot powder works too. For extra richness, swap the milk for half-and-half or heavy cream. And if you're using pre-diced veggies, pat them dry firstāthey'll caramelize better. The broth? Low-sodium is key so you can control the seasoning.
This soup tastes even better the next dayāmake a double batch and freeze half for lazy Sundays. Store leftovers in the fridge for 5-6 days or freeze for up to 3 months. I always keep a container of this in the freezer for those nights when I just need comfort. The bacon and ham keep well frozen too, so you can prep ahead and just add them straight from the freezer to the pot. Garnish with fresh parsley right before servingāit adds that final pop of brightness.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe because itās literally one potāno chopping boards, no extra pans, just dump-and-simmer. The bone-in ham and bacon render into the broth while you prep the veggies, so by the time the potatoes go in, the house smells like a holiday.
- Smoky-Sweet Perfection: That crispy bacon and salty ham bone? They melt into the broth until itās rich and savory, but the onions and carrots caramelize just enough to give it a depth thatās dangerously good. Honestly, Iāve tried store-bought brothāthis beats it every time.
- Weeknight to Holiday: Make it for a lazy Tuesday or serve it at Thanksgivingāsame recipe, different vibes. The potatoes soak up all that flavor, and the leftovers? Even better the next day. (Yes, even on a Tuesday night.)
- Budget-Friendly Feast: Bone-in ham and bacon stretch across multiple meals, and russets are cheap but hearty. Iāve fed six people for under $15, and they all ask for seconds. Not the prettiest, but the taste makes up for itāevery time.
Step-by-step instructions for smoky bacon and potato soup
This isn't just soupāit's a flavor-packed masterpiece with layers of smoky bacon, caramelized onions, and tender ham.
š„ Step 1: Build the Flavor Base with Bacon and Ham
Start by placing the 6 oz bacon in a large Dutch oven over medium heat. Let it cook undisturbed for 5-6 minutes until the edges are deep golden brown and crispy. Here's the thingādon't rush this. You want that fat to render slowly and develop maximum flavor.
Once the bacon is crisp, remove it from the pot with a slotted spoon and set it aside on paper towels to drain. Leave the rendered fat in the potāthis is liquid gold for your soup. Add the 1.5 lb bone-in ham (cut into 1-inch cubes) to the bacon fat and cook for 4-5 minutes until lightly browned on all sides. You're not trying to fully cook the ham yetājust get it browned so it infuses the pot with its smoky goodness.
š³ Step 2: Caramelize Onions and Add Vegetables
Push the ham to one side of the pot and add the 2 large yellow onions (thinly sliced). Cook them over medium-low heat for 8-10 minutes, stirring occasionally, until they turn a beautiful deep golden brownāthis is where the magic happens. Real talk: if you rush this step, your soup will taste flat. The onions should be soft and sweet with caramelized edges.
Add the 4 medium carrots (cut into 1-inch chunks), 3 medium celery stalks (diced), and 4 cloves garlic (minced). Stir everything together and cook for another 3-4 minutes until the carrots and celery soften slightly and the garlic becomes fragrant. You want the vegetables to release their natural juices and start building that aromatic base.
š„ Step 3: Simmer with Broth and Seasonings
Pour in the 6 cups chicken broth and bring everything to a gentle boil. Once boiling, reduce heat to low and add the 2 whole bay leaves, 1 tbsp fresh thyme, 2 tsp salt, and 0.5 tsp black pepper. Stir well to combine all the flavors. Here's where it gets funāadd the 2 lb russet potatoes (cut into 1-inch cubes) and let the soup simmer for 15-20 minutes until the potatoes are fork-tender and easily pierced with a knife.
I know it seems like too much liquid, but trust meāthe potatoes will absorb just enough to create that perfect thick-and-thin consistency. If the soup starts to reduce too much before the potatoes are done, just add a splash of water or broth to keep it at a gentle simmer.
š³ Step 4: Finish with Creamy Milk and Crispy Bacon
Stir in the 1 cup whole milk and the 2 tbsp all-purpose flour (whisked together into a smooth paste). This will help thicken the soup slightly and give it that luscious, creamy finish. Let the soup simmer for another 5-7 minutes until it reaches your desired consistencyāit should coat the back of a spoon but still be easy to ladle.
Taste and adjust seasoning if needed. Now's the time to add the crispy bacon back ināthose little bits will melt into the soup and add an extra layer of smoky flavor. Remove the 2 bay leaves before serving, as they're not meant to be eaten.
š½ļø Step 5: Garnish and Serve Warm
Ladle the soup into bowls and garnish each serving with 0.25 cup fresh parsley (chopped). The bright green color contrasts beautifully with the rich, smoky flavors and adds a fresh finish. Serve immediately while still warmāthis soup tastes even better the next day, but it's hard to wait that long!
Each spoonful should deliver that perfect balance of smoky bacon, sweet caramelized onions, tender ham, and creamy milk. The potatoes should be soft but still hold their shape, and the broth should be rich and flavorful. This is the kind of soup that makes you want to make a double batchātrust me, you'll be back for seconds.
Pro Tips For Making Best Ham And Potato Soup Recipe Ever
- CRISP THE BACON FIRST: Cook the bacon until itās deep golden, not just light brownāabout 8-10 minutes on medium heat. I learned this the hard way: undercooked bacon adds grease without flavor, and overcooked bacon turns bitter. Drain on paper towels, then use the rendered fat to sautĆ© onionsāno need for extra oil.
- CUT POTATOES UNIFORM: Russets break apart when cooked, so cut them into 1-inch chunks (not too small, or theyāll turn to mush). I skip peelingāextra fiber makes the soup heartier, and the skin adds texture. If youāre lazy, a mandoline makes this step faster, but a sharp knife works just as well.
- SIMMER LOW AND SLOW: Once everythingās in the pot, keep the heat at a gentle bubbleānot a rolling boil. I used to rush this, and the potatoes would split or the ham would dry out. A 30-45 minute simmer at low heat lets flavors meld without falling apart.
- USE THE HAM BONE: Donāt just shred the hamāleave the bone in until the soup is done. It infuses the broth with rich, savory depth (like a natural stock). Remove it before serving, then shred the meat and return it to the pot. Skip this, and youāre missing the soul of the dish.
Make-ahead tips for best ham and potato soup recipe ever
Prep Ahead Strategy
Cut all your vegetables the night before and store them in airtight containers in the fridge. I swear by this time-saverāprepped onions, carrots, celery, and potatoes stay fresh for 24 hours without browning.
The ham and bacon can also be prepped ahead: cube the ham and wrap it in plastic, or even cook the bacon in advance and store it crispy in the fridge for up to 3 days. š
Slow Cooker Adaptation
For ultimate convenience, use a 6-quart slow cooker on low for 6-7 hours or high for 3-4 hours. Simply combine all ingredients (except the milk and bacon) in the slow cooker, cook until potatoes are tender, then stir in the milk and bacon at the end.
I love this method because it requires zero attentionājust dump, cook, and enjoy. The flavors develop even more deeply than stovetop!
Freezer-Friendly Components
Make this soup completely from scratch and freeze it in quart-sized portions for up to 3 months. The best part? You can freeze the soup with or without the baconājust add crispy bacon when reheating for that perfect smoky finish.
When ready to eat, thaw overnight in the fridge, then reheat on the stovetop with 1 cup water or broth to restore creaminess. āļø
Double Batch for Leftovers
This soup tastes even better the next day, so I always make a double batch. Store leftovers in the fridge for 5-6 days or freeze for up to 3 months.
The ham and bacon keep well frozen too, so you can prep ahead and just add them straight from the freezer to the pot. Pro tip: Reheat gently on low heat with a splash of broth to maintain that perfect texture.
Make-Ahead Garnishes
Pre-chop your fresh parsley and store it in a small container with a damp paper towel to keep it vibrant. I also like to make a simple garnish mix of parsley and a pinch of black pepper ahead of timeājust store it in a small jar in the fridge.
This way, you can quickly add that fresh pop of color and flavor right before serving. š
Weeknight Shortcut
For those busy weeknights, prep everything except the milk and bacon. Store the partially cooked soup (with broth and seasonings) in the fridge for up to 2 days. When ready to serve, just add the milk, bacon, and simmer for 10 minutes.
This cuts your active cooking time by half while still delivering that restaurant-quality flavor. Honestly, this is my go-to for hectic evenings!
Nutrition facts
Frequently asked questions
Can I substitute ham with another protein?
For a lighter option, use smoked turkey breast or chicken thighs (boneless/skinless). For extra richness, try sausage (remove casings) or bacon alone (reduce to 4 oz). The key is to brown the protein first to build deep flavor.
Why does my soup turn out too thin?
This usually happens when potatoes aren't cooked long enough to absorb liquid. Simmer for 5-10 extra minutes or stir in 1 tbsp cornstarch mixed with 2 tbsp cold water off heat. For future batches, use waxy potatoes (Yukon gold) which hold shape better and thicken broth naturally.
How can I make this soup dairy-free?
Replace the milk with 1 cup unsweetened almond milk or vegetable broth for creaminess. For richness, stir in 2 tbsp nutritional yeast at the end. The bacon fat and caramelized onions will still provide that satisfying depth without dairy.
Can I use frozen potatoes instead of fresh?
Yes! Use 2 cups frozen diced potatoes (thawed) and add them with the broth. They'll cook faster but need 5-10 fewer minutes of simmering. For best texture, don't skip the browning step on the bacon and hamāthis creates flavor even with frozen veggies.
What's the secret to making this taste better the next day?
The magic happens during reheating! Warm the soup gently on low heat with 1/4 cup extra broth to restore creaminess. The flavors meld overnight, and the potatoes absorb more liquid. Add fresh parsley and a pinch of black pepper right before serving for that restaurant-quality finish.
