Soups & Stews
This ham and butter bean soup recipe delivers hearty comfort in every spoonful—where smoky paprika meets tender beans and savory ham in a broth so rich, it feels like a hug on a chilly day.
The secret lies in slow-simmered flavors that meld together, creating a balance of smoky depth and creamy texture that’s impossible to resist.
I’ve perfected this version to be both restaurant-worthy and foolproof for home cooks, with techniques that ensure the ham stays tender and the beans soak up every bit of flavor.
The foundation starts with sautéing aromatics—onion, garlic, and celery—until they’re soft and fragrant, then building layers of flavor with smoked paprika and bay leaves.
Adding the ham first allows it to render its juices into the broth, infusing it with savory richness before the butter beans come in to thicken the soup naturally. This method ensures every bite is packed with depth without needing heavy cream, keeping it light yet satisfying.
By the time you finish simmering, you’ll have a soup that’s velvety from the beans, aromatic from the spices, and perfectly balanced between the saltiness of the ham and the earthy sweetness of the butter beans.
The crisp celery garnish adds a refreshing crunch that cuts through the richness, making each spoonful feel like a complete meal. It’s the kind of soup that disappears quickly, leaving everyone asking for seconds.
Whether you’re serving a crowd or meal prepping for the week, this recipe scales effortlessly while maintaining that restaurant-quality flavor. The best part? It’s flexible enough to adapt—swap the ham for smoked tofu or tempeh for a vegetarian version, or adjust the spice level to suit your taste.
Let’s make this soup that brings warmth to the table.
Ingredients for ham and butter bean soup
Sixteen ingredients for a soup so rich and smoky, it tastes like a warm hug.
| Ingredient | Amount | Notes |
|---|---|---|
| Dry Butter Beans 🌾 | 2 cups | Soaked overnight or canned, drained |
| Diced Ham 🥓 | 1 lb | Smoked or honey-glazed preferred |
| Yellow Onion 🧅 | 1 whole | Diced, medium size |
| Celery Stalks 🥬 | 3 whole | Diced, for soup and garnish |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Smoked Paprika 🌶️ | 2 tsp | For authentic smoky depth |
| Bay Leaves 🌿 | 2 whole | Fresh or dried |
| Chicken Broth 💧 | 6 cups | Low-sodium preferred |
| Tomato Paste 🍅 | 2 tbsp | For subtle sweetness |
| Olive Oil 🫒 | 2 tbsp | Extra-virgin for richness |
| Salt 🧂 | 1 tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
The ham is the star here—smoked or honey-glazed gives the best depth, but any good-quality ham works. Costco or Trader Joe's have great pre-diced options that save time, or grab a whole ham and cube it yourself for extra flavor. Butter beans? Canned works in a pinch, but soaked overnight gives the best texture. Look for firm, plump beans without blemishes. The celery should be crisp—bright green stalks mean freshness, and you’ll use half for the soup, half for that crisp garnish. Smoked paprika is a must for that authentic smoky flavor, but if you only have regular paprika, add a pinch of liquid smoke to compensate.
No smoked paprika? Cayenne plus a dash of liquid smoke gets you close. Running low on ham? Smoked sausage or bacon works in a bind, but reduce the amount by half. Fresh herbs? Dried works at one-third the amount, but fresh parsley brightens the soup beautifully. The tomato paste can be a squeeze tube from Trader Joe's—no waste, and it keeps forever. If your broth is salty, use low-sodium and add salt at the end. For extra richness, stir in a splash of cream or coconut milk at the end, but the beans add enough creaminess on their own.
This soup tastes even better the next day—4-5 days in the fridge, 3 months frozen. Double the batch and freeze half for lazy days. The celery garnish keeps best if chopped just before serving, but you can store it separately in the fridge for 3 days. For meal prep, portion into containers with a layer of broth on top to keep the beans from drying out. Reheat gently on the stove with a splash of water if it thickens too much.
Why You'll Love This Recipe
- Pantry-Friendly Magic: I swear by this one—no fresh herbs, no fancy gadgets, just dried beans, a ham bone, and basic veggies. The onion and celery caramelize while you chop garlic, and suddenly, you’ve got depth without the fuss. Honestly, I make this when I’m too tired to shop.
- Salty-Sweet Harmony: That diced ham? It melts into the beans like a hug, while the garlic cloves roast until they’re just shy of bitter. The butter beans soak up the flavor like sponges—creamy but never mushy, with a satisfying bite. Between us, it’s the kind of soup that makes you want to linger at the table.
- Leftovers That Beg: This stuff only gets better the next day. The flavors meld into something richer, and reheating takes two minutes. I’ll be real: I’ve brought it to potlucks, packed it for work, and even served it cold in summer—it’s that adaptable. (Yes, even on a Tuesday night.)
- Budget Winner: Dried beans and a ham bone stretch this into four meals for pennies. No splurges, no waste—just pure, filling goodness. My daughter picks out the best chunks of ham, but still asks for seconds. Proof it’s spot-on.
Step-by-step instructions for ham and butter bean soup
Here's how to craft this hearty, smoky soup with tender beans and rich ham flavors.
Prepare the Butter Beans
If using dry butter beans, soak them overnight in plenty of water to cover. I like to use a large bowl and add about 2 inches of water above the beans. Let them sit at room temperature until they're fully softened—this usually takes 8 to 12 hours. If you're using canned beans, drain and rinse them thoroughly to remove any excess sodium.
After soaking, drain the beans and give them a quick rinse under cold water. This removes any residual starch that might make the soup gummy. For the best texture, I always pat them dry with a clean kitchen towel before adding them to the pot. This step ensures your beans absorb the flavors of the broth without turning mushy.
Sauté the Aromatics
Heat the 2 tablespoons olive oil in a large pot over medium heat. Add the diced yellow onion and cook for 4-5 minutes until softened and translucent. Then add the diced celery stalks and continue cooking for another 3-4 minutes until they begin to soften and release their natural juices.
Next, add the 4 cloves minced garlic and stir for 30 seconds until fragrant. Here's the thing—don't let the garlic burn. It should smell amazing but not bitter. If it starts to darken too quickly, reduce the heat slightly. This aromatic base forms the flavor foundation of your soup, so take your time with this step.
Build the Smoky Flavor Base
Stir in the 2 tablespoons tomato paste and cook for 1 minute to remove the raw taste. Then add the 2 teaspoons smoked paprika and the 2 whole bay leaves, stirring well to combine. Let everything cook together for 1 minute until the paprika is fully incorporated and the mixture smells deeply aromatic.
Now add the 1 pound diced ham and cook for another 2-3 minutes, stirring occasionally. The ham will release its juices and start to crisp slightly at the edges. This step develops the rich, smoky depth that makes this soup so satisfying. Don't skip it—those few extra minutes make all the difference in flavor.
Simmer the Soup
Pour in the 6 cups chicken broth and bring everything to a gentle boil. Once boiling, reduce the heat to low and add the prepared butter beans. Stir well to combine, then add the 1 teaspoon salt and ½ teaspoon black pepper. The soup should simmer gently—you're looking for small bubbles breaking the surface, not a vigorous rolling boil.
Let the soup simmer uncovered for 45-60 minutes, stirring occasionally. This long simmering time allows all the flavors to meld together beautifully. You'll know it's ready when the beans are tender and the soup has thickened slightly from the starch released by the beans. Taste and adjust the seasoning if needed—this is your chance to perfect the balance of flavors.
Finish and Serve
Remove the 2 whole bay leaves from the soup. They've done their job and can be discarded. Ladle the hot soup into bowls, being careful not to include any of the bay leaves. Garnish each serving with a sprinkle of ¼ cup chopped fresh parsley for a pop of color and freshness.
For that crisp celery garnish mentioned in the title, reserve a few celery stalks before dicing. Lightly fry them in a small pan with a bit of olive oil until crispy, then sprinkle over the soup just before serving. This adds a delightful textural contrast to each spoonful. Serve immediately while hot, and enjoy this comforting bowl of smoky goodness.
Pro Tips For Making Ham And Butter Bean Soup
- SOAK BEANS TWICE: I learned this the hard way—skipping the second soak leaves butter beans tough as boot leather. After an initial 6-hour soak (or overnight), drain, rinse, then soak another 2 hours in fresh water. The extra step removes more starch, which makes the beans creamier and prevents that chalky aftertaste. Trust me, your soup will actually taste like it belongs in a proper meal, not a rushed weeknight shortcut.
- BROWN THE HAM: That pre-cooked ham looks safe to toss in raw—don’t. Pat the diced ham dry, then sear it in a hot pan for 3-4 minutes until the edges crisp slightly. The Maillard reaction deepens the flavor, and you’ll taste it in every spoonful. I used to skip this, and the soup always felt… flat. Now it’s the first thing I do after sautéing the onions.
- CHOP CELEERY SMALL: Big celery chunks turn into mushy, sad bits that ruin the texture. Dice the stalks into 1/4-inch pieces—small enough to disappear into the soup but big enough to keep that satisfying bite. I was skeptical until I tried it: the soup actually has structure now, not just a puree of vegetables and beans.
- SALT THE BEANS LATE: Adding salt early turns your butter beans into rubber. Wait until the last 30 minutes of cooking to season them—this keeps them tender and lets the flavors meld properly. I used to add salt at the start, and the beans would either stay hard or turn mealy. Now they’re perfect every time.
Common mistakes when making great ham and butter bean soup
Skipping the Soak
Using canned butter beans is a time-saver, but if you opt for dry beans, never skip the soaking—even if you're using a pressure cooker. Dry beans contain phytic acid, which can make them hard to digest and give your soup a gritty texture.
I’ve learned the hard way: unsoaked beans turn mushy and release excess starch, making the soup gluey. Soak for at least 8 hours or use the quick-soak method (boil beans for 2 minutes, then let them sit off heat for 1 hour). 🌾
Overcooking the Ham
Ham is delicate—cook it too long, and it turns rubbery. When you add the 1 pound diced ham to the pot, give it just 2-3 minutes to crisp slightly at the edges. Overcooking releases too much fat, which can make the broth greasy.
If your ham is extra lean, add it later in the simmering process to prevent drying out. I always taste-test a small piece to check for tenderness before proceeding.
Ignoring the Bay Leaves
Bay leaves might seem insignificant, but they’re flavor powerhouses. If you forget to remove them before serving, you risk a bitter, piney taste. I’ve seen this happen—always strain the soup or fish them out with tongs.
Pro tip: Use fresh bay leaves if possible; they’re more aromatic than dried. And if you’re short on time, crush them lightly with your palm before adding to release their oils faster. 🌿
Rushing the Simmer
This soup needs time to develop its depth—45-60 minutes is non-negotiable. Skipping this step means flavors won’t meld properly, and the beans might stay undercooked. If you’re in a hurry, use a pressure cooker (reduce time to 20 minutes), but don’t cut corners on stovetop simmering.
I’ve tried speeding it up, and the results are always flat. Patience pays off with a rich, layered flavor.
Salting Too Early
Adding salt at the beginning can make the broth overly salty as flavors concentrate during simmering. Instead, add the 1 teaspoon salt after the beans have soaked up some of the broth.
Taste and adjust at the end—this is your last chance to balance the flavors. I’ve ruined a batch by salting too soon; now I always wait until the very end. 🧂
Skipping the Garnish
The crisp celery and parsley aren’t just for looks—they add freshness and texture. Omitting them means missing out on that perfect contrast to the rich soup. Fry the celery in 1 tablespoon olive oil for 2-3 minutes until golden for maximum crunch.
Fresh parsley brightens the dish, so don’t skip it—it’s the finishing touch that elevates the soup from good to amazing.
Nutrition facts
Frequently asked questions
Can I substitute canned butter beans for dry?
Canned butter beans work perfectly and save time. Just drain and rinse them thoroughly to remove excess sodium. For best results, use 2 (15 oz) cans instead of dry beans. The texture will be slightly softer, but the flavor remains rich and creamy.
How can I make this soup vegetarian?
Swap the ham for smoked tofu or tempeh (½ lb) and add 1 tsp liquid smoke for depth. For extra protein, include ½ cup cooked lentils. The smoky paprika and tomato paste will still create that satisfying, hearty flavor without meat.
Why does my soup taste bland after simmering?
This usually happens when flavors aren't concentrated enough. Try these fixes: Reduce the broth by 25% at the end for intensity, add 1 tsp apple cider vinegar for brightness, or stir in 1 tbsp tomato paste at the end. The long simmer is key—don't rush it!
Can I freeze this soup for later?
Yes! Freeze for up to 3 months by cooling completely first, then storing in airtight containers. Leave ½ inch headspace to prevent expansion. Reheat gently on the stove with a splash of water if it thickens too much. The flavors actually improve after freezing!
What's the secret to crispy celery garnish?
Cut celery into ¼-inch thick slices and fry in 1 tbsp olive oil over medium-high heat for exactly 2-3 minutes until golden. Drain on paper towels and sprinkle immediately. The key is high heat and quick cooking—don't overcrowd the pan!
