Live life with no excuses, travel with no regret.

Ham and White Bean Soup

Sharing is caring!

Ham and White Bean Soup is the kind of meal that feels steady and comforting the second it hits the stove. It’s thick without being heavy, full of tender beans, and loaded with smoky ham flavor that tastes like it’s been simmering all day (because it has). You get a rich broth, soft carrots and celery, and that cozy, slow-cooked aroma that makes the whole kitchen feel warmer.

This is also one of the best “use what you’ve got” soups. Leftover holiday ham? Perfect. A ham bone tucked in the freezer? Even better. A pack of ham hocks from the store? Works great. And if you want it faster, you can absolutely use canned beans and still get a really satisfying pot of soup.

It’s simple food. The kind you’ll keep coming back to.


Why you’ll want this recipe

It makes leftovers feel special. A little ham goes a long way once it simmers with beans and broth.

The texture is exactly right. Creamy beans, tender vegetables, and pieces of ham in every bowl.

It’s a true one-pot dinner. Soup pot, ladle, done.

It’s budget-friendly. Beans and broth stretch the meal without feeling “stretched.”

It freezes well. Make a big batch once, eat twice (or three times).

And if you’ve ever had bean soup that tasted flat, this one fixes that with a few small moves: sautéed aromatics, bay leaf, thyme, and the right finishing touches so the broth tastes full and balanced.


Frequently asked questions

Do I have to soak the beans?

No, but soaking helps the beans cook more evenly and a little faster. I include three options below: overnight soak, quick soak, and a no-soak method. You can pick what fits your day.

Can I use canned beans instead of dried?

Yes. It changes the cook time a lot, but it’s a great shortcut. You’ll add the canned beans later so they don’t break down. The soup still tastes rich because the ham and aromatics do the heavy lifting.

What’s the best ham to use?

Leftover ham is perfect. A ham bone adds a lot of flavor too. If you’re buying ham for this soup, look for a thick ham steak, diced ham, ham hocks, or a smoked ham shank. Anything with a little fat and smoke will taste great.

What if I don’t have a ham bone?

No problem. Use diced ham plus a ham hock (or two) if you can. If you only have diced ham, the soup will still be tasty. Just use a good broth and don’t skip the herbs.

How do I thicken the soup?

You’ve got options. The easiest: mash or blend a small portion of the beans and stir them back in. That thickens the broth naturally without flour or cornstarch. I show you exactly how in the instructions.

My soup tastes too salty. What should I do?

Ham can vary a lot in saltiness. Start with low-sodium broth, then adjust at the end. If it still tastes salty, add more water or unsalted broth and a squeeze of lemon to brighten everything up. Acid helps balance salt.

Can I make this in a slow cooker?

Yes, and it’s a great slow cooker soup. I include slow cooker directions in the variations section, plus an Instant Pot option if you want it quicker.

Can I add greens?

Absolutely. Spinach, kale, or collards work well. Add them near the end so they stay bright and don’t overcook.


Ingredients

Here I explain the best ingredients for this ham and white bean soup recipe, what each one does, and substitution options. For the exact ingredient measurements, jump to the recipe card at the bottom of this post.

Beans and ham

Dried white beans
Great Northern beans are the classic choice. Navy beans work too (they’re smaller and break down more). Cannellini beans make a slightly creamier soup with bigger, softer beans. Use what you like.

Ham bone, ham hock, or smoked ham shank
This is where the soup gets that deep, slow-simmered flavor. A ham bone with a little meat still attached is ideal. Ham hocks are smaller and very flavorful. A smoked ham shank also works and makes the broth taste rich and smoky.

Diced ham
You can use leftover ham or a thick ham steak cut into cubes. If your ham is very lean, it’s still fine. The soup just benefits from that ham bone or hock flavor if you have it.

Vegetables and aromatics

Onion
Gives the broth a sweet, savory base. Yellow onion is the most classic, but white onion works too.

Carrots + celery
These build the foundation flavor and make the soup taste “finished,” not just beans in broth.

Garlic
Fresh garlic gives warmth and depth. It’s especially good with ham.

Broth and seasonings

Chicken broth (low-sodium)
Low-sodium is the safest choice because ham adds salt. You can always add salt later. Taking salt out is harder.

Bay leaves
Bay leaf gives the soup that slow-cooked background flavor. It’s subtle, but you notice when it’s missing.

Thyme
Thyme pairs beautifully with ham and beans. Dried thyme is easy. Fresh thyme is great if you have it.

Black pepper
Ham and beans love pepper. A generous amount at the end makes the soup taste alive.

Smoked paprika (optional)
If your ham isn’t very smoky, a little smoked paprika helps. Just a little. You’re not making it taste like barbecue.

Finishing touches

Lemon juice or apple cider vinegar
A small splash at the end brightens the soup and balances the richness. It doesn’t make it taste “lemony.” It just makes it taste better.

Fresh parsley (optional)
Adds a fresh finish and makes each bowl look bright.


How to prep dried beans (three easy options)

This soup works with soaked or unsoaked beans. Here are the options, laid out clearly.

Overnight soak (most reliable)

  1. Put the beans in a large bowl.

  2. Cover with plenty of water (beans expand a lot).

  3. Let them soak 8–12 hours.

  4. Drain and rinse before cooking.

This gives you the most even texture. Beans cook more consistently, and you get fewer split skins.

Quick soak (same-day friendly)

  1. Add beans to a pot and cover with water by a few inches.

  2. Bring to a boil and boil 2 minutes.

  3. Turn off the heat, cover, and let sit 1 hour.

  4. Drain and rinse.

Great option when you want dried-bean flavor without overnight planning.

No-soak method (works, just takes longer)

You can cook the beans straight from dry. The soup will need more simmer time, and you may need extra broth/water as it cooks. It’s still good. Just plan for it.


Instructions

For the full detailed recipe instructions, scroll to the recipe card at the bottom of this post.

This soup has two parts: building flavor at the start, then letting it simmer until the beans are tender and the broth tastes rich. No complicated steps. Just a steady pot that gets better as it goes.

Step 1: Sort and rinse the beans

Even good-quality beans can have tiny bits of debris. Pour them onto a plate or baking sheet, do a quick look, then rinse well under cold water.

If you soaked the beans, drain and rinse them now.

Step 2: Sauté the vegetables

Place a large Dutch oven or soup pot on the stove over medium heat.

Add a little olive oil or a small pat of butter. Add the diced onion, carrots, and celery. Cook 6–8 minutes, stirring occasionally, until the onions soften and the vegetables start smelling sweet.

Add the garlic and cook 30 seconds. Don’t let it brown. Just wake it up.

This step matters. It builds the base flavor so the soup tastes rich even before the ham and beans do their thing.

Step 3: Add beans, broth, and ham

Add the beans to the pot.

Pour in the chicken broth. Add the ham bone, ham hock, or smoked ham shank. Drop in the bay leaves and thyme.

Bring the soup to a gentle boil, then immediately reduce heat to a steady simmer.

Step 4: Simmer until the beans are tender

Cover the pot partially (leave a small gap so steam can escape) and simmer:

  • Soaked beans: about 60–90 minutes

  • Unsoaked beans: about 2–2 ½ hours

Stir occasionally and check the liquid level. Beans soak up broth as they cook. If the soup gets too thick before the beans are tender, add a splash of water or broth.

The beans are done when they’re creamy and tender all the way through. Not chalky. Not firm in the center.

Step 5: Remove the bone and pull the meat

Carefully remove the ham bone/hock/shank and set it on a cutting board.

Let it cool for a few minutes, then pull off any usable meat. Chop it and return it to the pot.

Discard the bones, skin, and any tough pieces. (If there’s a lot of fat, you can trim some off. A little is good. A lot can feel heavy.)

Step 6: Add diced ham

Stir in the diced ham and let it warm through for 10–15 minutes.

This timing keeps the ham tender. If you add it too early and simmer for hours, it can get dry and chewy.

Step 7: Thicken the soup (optional, but really nice)

If you like a thicker, creamier soup, do this. It’s a small step with a big payoff.

Scoop out 1–2 cups of beans and broth and mash them with a fork, or blend them briefly until smooth. Stir that back into the pot.

The soup thickens naturally. No flour. No slurry. Just beans doing what beans do.

Step 8: Finish and season

Remove the bay leaves.

Taste the soup. Now adjust:

  • Add black pepper until it tastes right. Ham and pepper belong together.

  • Add salt only if needed (often you won’t need much).

  • Add a splash of lemon juice or apple cider vinegar for brightness.

If you’re adding greens, stir them in now and cook 2–3 minutes until wilted.

Ladle into bowls and top with parsley if you like.


Using canned beans (fast shortcut)

If you want ham and bean soup without the long simmer, canned beans are a great path.

Here’s how to do it:

  1. Sauté onion, carrots, celery, and garlic as written.

  2. Add broth, ham bone/hock (if using), bay leaf, and thyme. Simmer 25–35 minutes to build flavor.

  3. Add drained and rinsed canned white beans and diced ham.

  4. Simmer 10–15 minutes.

  5. Mash a portion to thicken, then finish with pepper and lemon/vinegar.

Canned beans won’t give you quite the same deep bean broth as dried beans, but the soup still tastes hearty and satisfying. And it’s much faster.


Recipe tips

Start with low-sodium broth.
Ham can be salty. You want control here.

Simmer gently.
A hard boil can break beans apart and make the broth cloudy. Keep it steady and calm.

Add diced ham later.
Long cooking can make diced ham dry. Add it once the beans are already tender.

Thicken with beans, not flour.
Mashing a portion makes the soup creamy while keeping the flavor clean and classic.

Finish with acid.
A splash of lemon juice or vinegar makes the whole pot taste brighter. It’s subtle. It matters.

Taste at the end.
Seasoning early is tricky because broth reduces and ham releases salt. Taste once the soup is basically done, then adjust.


Optional additions and variations

Add potatoes

Cubed Yukon Gold potatoes are great here. Add them during the last 30–40 minutes of simmering (once beans are close to tender) so they don’t fall apart.

Add greens

Kale, spinach, or collards work well. Add them at the end so they stay fresh-tasting. Kale and collards need a few extra minutes. Spinach wilts fast.

Make it smoky

If your ham isn’t very smoky, add ½ teaspoon smoked paprika and a pinch more black pepper. Small amount. Big difference.

Make it creamy (without cream)

Mash more beans, or blend a larger portion of the soup. You can make it as thick as you like without adding dairy.

If you do want dairy, stir in a small splash of half-and-half at the end, off the heat. Keep it gentle so it stays smooth.

Slow cooker method

  • Sauté onion, carrots, celery, and garlic on the stove first (best flavor), then transfer to the slow cooker.

  • Add soaked beans, broth, ham bone/hock, bay leaf, and thyme.

  • Cook on LOW 7–8 hours or HIGH 4–5 hours, until beans are tender.

  • Remove the bone, shred meat, return it to the cooker.

  • Add diced ham in the last 30 minutes.

  • Mash a portion to thicken and finish with pepper + lemon/vinegar.

Instant Pot method

  • Sauté onion, carrots, celery, and garlic using Sauté mode.

  • Add rinsed beans (no soak needed), broth, ham bone/hock, bay leaf, and thyme.

  • Cook on High Pressure for 35 minutes, then natural release 15 minutes.

  • Check beans. If needed, add 5 more minutes.

  • Remove bone, shred meat, add diced ham, and warm through on Sauté mode.

  • Mash a portion, then finish seasoning.


Storage and reheating

Refrigerator: Store in an airtight container for up to 4 days.

This soup thickens as it sits (beans do that). When reheating, add a splash of broth or water and stir. It loosens right back up.

Stovetop reheating: Warm over medium-low heat, stirring occasionally, until hot.

Microwave reheating: Reheat in 60–90 second bursts, stirring between, until hot.

Freezer: Freeze for up to 3 months. Thaw overnight in the fridge for best texture. Reheat gently and add a little broth if needed.


What to serve with Ham and White Bean Soup

A bowl of this soup is filling on its own, but sides make it feel like a full meal.

  • crusty bread or warm rolls

  • cornbread (especially good with ham)

  • a simple green salad with a tangy dressing

  • roasted Brussels sprouts or broccoli

  • sautéed greens if you didn’t add them to the soup

If you want something extra cozy, serve it with buttered toast and black pepper on top. Simple. So good.

Ham and White Bean Soup

Leftover Ham and White Bean Soup is the best way to use up a holiday ham bone. Whether you need a slow cooker recipe or a quick stovetop dinner, this hearty soup delivers. Loaded with Great Northern beans, tender carrots, and savory ham, it's a classic comfort food meal that freezes perfectly for meal prep. Get the easy instructions for using dried or canned beans.
No ratings yet
Prep Time 20 minutes
Cook Time 1 hour 45 minutes
Total Time 2 hours 5 minutes
Course Soup
Cuisine American
Servings 8 SERVINGS

Ingredients
  

  • 1 pound dried Great Northern beans or navy/cannellini, sorted and rinsed
  • 1 tablespoon olive oil or 2 tablespoons butter
  • 1 large yellow onion diced
  • 3 carrots peeled and diced
  • 3 celery ribs diced
  • 4 cloves garlic minced
  • 8 cups low-sodium chicken broth plus more as needed
  • 1 ham bone or 2 ham hocks or 1 smoked ham shank
  • 2 bay leaves
  • 1 teaspoon dried thyme or 1 tablespoon fresh thyme leaves
  • 2 cups diced cooked ham add near the end
  • ½ teaspoon black pepper plus more to taste
  • 1 –2 tablespoons lemon juice or apple cider vinegar to finish
  • Salt to taste (often minimal, depending on ham)
  • 2 cups chopped spinach or kale optional
  • Chopped parsley for serving (optional)

Instructions
 

  • Sort and rinse the beans. If soaking, soak overnight (or quick soak), then drain and rinse.
  • Heat olive oil (or butter) in a large pot over medium heat. Add onion, carrots, and celery. Cook 6–8 minutes until softened. Add garlic and cook 30 seconds.
  • Add beans, broth, ham bone/hocks/shank, bay leaves, and thyme. Bring to a gentle boil, then reduce to a steady simmer.
  • Simmer partially covered until beans are tender: 60–90 minutes for soaked beans, or 2–2½ hours for unsoaked beans. Add more broth/water if needed.
  • Remove ham bone/hocks, pull off meat, chop, and return meat to the pot. Discard bones/skin.
  • Stir in diced ham and simmer 10–15 minutes to warm through.
  • Optional thickening: mash or blend 1–2 cups of beans/broth, then stir back into the pot.
  • Remove bay leaves. Season with black pepper and salt if needed. Stir in lemon juice or vinegar. Add greens (optional) and cook 2–3 minutes until wilted. Serve hot.

Notes

Low-sodium broth helps you control salt since ham varies a lot.
For thicker soup, mash more beans or blend a larger portion.
Add diced ham late so it stays tender.
Tried this recipe?Let us know how it was!

Sharing is caring!

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating




Sharing is Caring

Help spread the word. You're awesome for doing it!