Save My neighbor stopped by one February afternoon with leftover ham from a family dinner, and I suddenly had that familiar kitchen puzzle: what to do with it? I'd been craving something warm and substantial, so I started pulling together what felt right—beans, cream, herbs—and by the time she left an hour later, we were both sitting at my kitchen table with bowls of this soup, trading stories and letting the steam rise past our faces. That's when I knew this recipe had staying power.
The first time I made this for my book club, I doubled the batch because I wasn't sure how hearty it would feel. It disappeared in minutes, and three people asked for the recipe before dessert even came out. That taught me something important about comfort food: it doesn't need to be complicated, just genuine and made with care.
What's for Dinner Tonight? 🤔
Stop stressing. Get 10 fast recipes that actually work on busy nights.
Free. No spam. Just easy meals.
Ingredients
- Cooked ham, diced (2 cups): The foundation of flavor here, providing a savory backbone without needing to simmer for hours like raw meat would.
- Yellow onion, finely chopped (1 medium): Use fresh, not pre-diced, because you want them to soften and almost disappear into the broth.
- Carrots, peeled and diced (2 medium): These add natural sweetness and body; peel them because the skin can feel grainy in a creamy soup.
- Celery stalks, diced (2): Your aromatic anchor; don't skip this even if celery isn't your favorite raw vegetable.
- Garlic cloves, minced (3): Fresh garlic only; jarred loses its punch after thirty minutes of simmering.
- Yukon Gold potatoes, peeled and diced (2 cups): These waxy potatoes hold their shape and create natural creaminess when partially mashed.
- White beans, drained and rinsed (2 cans, 15 oz each): Cannellini or Great Northern both work, but rinse them well to remove the starchy liquid.
- Heavy cream (1 cup): Don't substitute low-fat cream here; the richness is part of the experience.
- Low-sodium chicken broth (4 cups): Low-sodium matters because the ham is already salty, and you want control over the final seasoning.
- Water (1 cup): This balances and softens the saltiness without diluting the flavor too much.
- Fresh parsley, chopped (2 tbsp): Add this at the end; cooking destroys its brightness and herbaceous quality.
- Fresh thyme leaves (1 tbsp, or 1 tsp dried): Dried thyme works fine, but fresh thyme leaves feel special and taste noticeably fresher.
- Bay leaves (2): Remove them before serving; they're flavor contributors, not meant to be eaten.
- Dried oregano (1/2 tsp): A small amount gives earthiness without making the soup taste Italian.
- Black pepper, freshly ground (1/2 tsp): Fresh pepper tastes sharper and more vibrant than pre-ground.
- Salt (1/2 tsp, adjust to taste): Start light; you can always add more, but you can't take it out.
Tired of Takeout? 🥡
Get 10 meals you can make faster than delivery arrives. Seriously.
One email. No spam. Unsubscribe anytime.
Instructions
- Build the aromatic base:
- Heat a splash of oil in a large pot or Dutch oven over medium heat, then add onion, carrots, and celery. Sauté for about 5 minutes until they soften and release their fragrance, which signals they're ready for the next step.
- Awaken the garlic:
- Stir in the minced garlic and cook for just 1 minute—any longer and it turns bitter. You'll smell when it's done, that warm, almost nutty aroma.
- Combine the main ingredients:
- Add the diced ham and potatoes, stirring so everything gets coated in the oil and aromatics. This helps layer the flavors together.
- Add liquid and seasonings:
- Pour in the drained white beans, chicken broth, water, thyme, bay leaves, oregano, salt, and pepper. Stir once to distribute everything evenly.
- Simmer gently:
- Bring to a boil, then reduce heat to low, cover, and simmer for 25–30 minutes until the potatoes are completely tender and the flavors have mellowed into one another. You'll notice the broth turning slightly milky and rich as the beans release their starch.
- Create the creamy texture:
- Fish out the bay leaves, then use a potato masher or immersion blender to mash some of the beans and potatoes directly in the pot. You're aiming for a chunky, not-quite-smooth texture—leave plenty of whole beans for bite.
- Finish with cream and herbs:
- Stir in the heavy cream and fresh chopped parsley, then simmer uncovered for another 5 minutes. Taste and adjust salt and pepper because the cream will have softened the seasoning.
- Serve with warmth:
- Ladle into bowls and finish each one with a sprinkle of fresh parsley and a crack of black pepper. Serve while it's still steaming.
Save My mother in law made a version of this for me when I was recovering from surgery, and something about having it appear at my door warm and waiting made me feel genuinely cared for. Food can do that—cross from nourishment into something closer to comfort on a cellular level.
Still Scrolling? You'll Love This 👇
Our best 20-minute dinners in one free pack — tried and tested by thousands.
Trusted by 10,000+ home cooks.
Why This Soup Works in Winter
There's something about beans and ham together that feels old-fashioned and trustworthy, like recipes that have fed families through countless seasons. The cream transforms something that could feel heavy into something luxurious and almost silky, while the herbs keep it bright enough that you don't feel weighed down afterward. It's the kind of dish that tastes better the next day when the flavors have had time to truly merge.
Variations That Actually Work
I've played with this recipe enough times to know what holds it together and what you can stretch. Smoked turkey or crispy bacon can absolutely replace the ham if that's what you have, and the soup will taste just as good, just slightly different. For something lighter, half-and-half or even a splash of coconut milk in place of heavy cream creates an entirely different but equally comforting experience.
What to Serve on the Side
This soup is satisfying enough on its own, but there's something about pairing it with bread that makes the whole meal feel complete. Crusty bread works because you can use it to push soup around the bowl, to soak up every last drop. The soup itself is mild enough that bold flavors alongside it work without fighting—cornbread adds sweetness, while a dark rye brings earthiness and complexity.
- Serve with thick crusty bread or warm cornbread for dipping and soaking up the creamy broth.
- A simple green salad with sharp vinaigrette cuts through the richness if you want balance on the plate.
- Keep oyster crackers on hand for texture contrast, though honest bread is always the better choice.
Save This is the kind of soup that turns a quiet lunch into something nourishing, that makes a cold evening feel manageable, that tastes like someone cares about feeding you well. Keep it close for the moments when you need exactly that.
Recipe FAQs
- → What type of beans work best?
Cannellini or Great Northern beans are ideal for their creamy texture and mild flavor, complementing the ham and herbs perfectly.
- → Can I use smoked turkey instead of ham?
Yes, smoked turkey makes a great substitute, adding a similar smoky depth while keeping the dish flavorful.
- → How can I thicken the soup naturally?
Mashing some of the beans and potatoes in the pot creates a creamy, thick texture without extra additives.
- → Are there dairy-free variations possible?
Replacing heavy cream with coconut milk or half-and-half provides a lighter or dairy-free alternative without compromising creaminess.
- → What herbs enhance the flavor best?
Fresh parsley, thyme, bay leaves, and a hint of oregano create a balanced aromatic profile that brightens the dish.
- → What sides pair well with this dish?
Crusty bread or cornbread are excellent companions, perfect for soaking up the rich soup flavors.