Hearty Ham and Bean Soup

No ratings yet
Jump to Recipe

This post may contain affiliate links. Please read our disclosure policy.

This easy Ham and Bean Soup is a firm favorite in our house – thick, savory and packed with creamy cannellini beans, potato and tender ham. It tastes like it’s been simmering for hours, but it’s made with canned beans, so it can be ready and on the table in about an hour.

A large blue pot filled with ham and bean soup, surrounded by two smaller bowls of the same dish and a crocheted coaster.

Ham and bean soup is a classic for a reason – hearty, warming, stick-to-your-ribs comfort food that’s thrifty and can feed a crowd. It’s a fantastic way to use up leftover ham and the stock created from braising the ham if you have it available.

I created this recipe to use up the cooked ham and stock left over from my Braised Ham Hock, adding canned beans, potato and spinach to stretch this to a meal happily serving 6–8. I have also included options for adding a ham bone, swapping in dried beans, fixing a soup that is too salty and so much more!

A large pot and two bowls filled with a thick ham and bean soup, with a serving spoon resting in the pot.

Here’s What You’ll Need

This soup is really versatile – you can use leftover ham and improvise with different types of beans and vegetables.

  • Stock – ideally the strained braising liquid from cooking a ham hock or gammon. No ham stock? Use low-sodium chicken broth in place of both the stock and the water.
  • Water – it may seem odd to add so much water, but stock made from cured ham is usually quite salty and simmering reduces it so the saltiness intensifies. You can adjust this if using chicken broth or low-sodium stock.
  • Cannellini beans – five cans, drained and rinsed. Cannellini are large, creamy and hold their shape. Navy beans (haricot beans) or great northern beans work just as well, and butter beans are a good option in the UK.
  • Ham – about 1 lb (450g) of cooked ham, shredded or diced. Leftover baked ham or gammon is perfect (my Slow Cooker Gammon and Air Fryer Gammon both work well), and so is the meat pulled from a braised ham hock.
  • Onion, celery and garlic – the fresh vegetables that start the soup.
  • Carrots – use the soft carrots from the braise if available, otherwise dice some fresh carrots. Either way, they go in with the onion and celery.
  • Potato – one floury potato, diced small. It breaks down a little as it cooks and helps thicken the soup.
  • Tomato paste (tomato purée) – It adds depth and a little color without making the soup taste of tomato.
  • Spinach – 3 cups of fresh spinach, stirred in at the end so it just wilts.
  • Sour cream – for creaminess and tang! This also helps balance out the salt if needed.
Ingredients for ham and bean soup: a ham hock, white beans, onion, celery, garlic, herbs, stock and oil arranged on a marble board.

Why You’ll Love It

  • Big flavor, short cook: Cooked ham and ham stock do the heavy lifting, so the soup only needs a gentle simmer.
  • Thrifty: It uses up leftover ham, the stock and even the ham bone, so nothing is wasted.
  • Pantry friendly: Canned beans, an onion, a potato and a spoonful of tomato paste.
  • Feeds a crowd: One pot serves 6–8, and it freezes beautifully.
  • Flexible: Canned or dried beans, leftover holiday ham or hock meat, ham stock or chicken broth.

How to Make This Ham and Bean Soup Recipe

↓ For the full ingredients and detailed method, jump to the recipe card.

Cook the Vegetables

  1. Heat a little olive oil in a large Dutch oven or soup pot over medium heat. Add the diced onion, celery, carrots and potato and cook for 6–8 minutes, stirring occasionally, until softened.
  2. Stir in the garlic and tomato paste and cook for 1 minute, until it darkens slightly.
A person uses a wooden spatula to stir chopped carrots, onions, and celery for ham and bean soup in a large pan.

Simmer

  1. Add the diced ham, stock, water, beans and bay leaves. Bring to a rolling simmer, then turn the heat down low and cook for 30–40 minutes.
Shredded cooked ham being added from a plate to the pot of softened carrots, onion and celery for ham and bean soup.

Thicken and Season

  1. Discard the bay leaves. For a thicker, creamier soup, mash some of the beans and potato against the side of the pot with a wooden spoon, or blend a couple of ladlefuls with an immersion blender and stir them back in.
  2. Add the spinach and stir it into the hot soup so that it wilts. Take off the heat and stir in the sour cream if using.
A hand pouring broth from a measuring cup into a large pot of ham and bean soup.
  1. Taste the soup before you season. Add plenty of black pepper, and salt only if it needs it – it usually will not.
  2. Ladle into bowls and finish with chopped parsley and a pinch of red pepper flakes.
A ladle lifts a scoop of hearty ham and bean soup from a blue enameled pot.

Serving Suggestions

This is a meal in a bowl, so all it really needs is good bread for dunking.



Using a Ham Bone

If you have the bone from a baked ham or a Braised Ham Hock, don’t throw it away – it is full of flavor and turns this into an even better ham bone and bean soup.

  • Add it with the liquid: Put the bone in the pot along with the stock and water and let it simmer with the soup.
  • Give it longer if you can: 30–40 minutes is enough, but simmering for up to an hour draws out more flavor. Add a splash of water if the soup gets too thick.
  • Lift it out: Remove the bone before you thicken the soup, pick off any meat and stir it back in.
  • No ham stock? A meaty bone goes a long way to making up for it. Use low-sodium chicken broth for the liquid and taste before seasoning.

How to Fix Soup That Is Too Salty

Ham stock, ham and canned beans all bring their own salt, and the soup gets saltier as it simmers and reduces. Leave the salt out completely until the soup is finished, then taste and decide. If your soup still manages to be too salty you can fix it using the following methods:

  • Dilute it: This is the only method that actually removes saltiness. Stir in a cup (250ml) of water or unsalted stock at a time, tasting as you go.
  • Bulk it out: Add another can of rinsed, no-salt-added beans or a second diced potato and simmer until tender. More unsalted ingredients means less salt in every spoonful.
  • Add acid: A squeeze of lemon juice or a teaspoon of apple cider vinegar does not remove salt, but it balances it and makes the soup taste brighter.
  • Add something creamy: A splash of heavy cream (double cream) or a couple of spoonfuls of sour cream in each bowl softens the saltiness.
  • Serve it with something plain: Unsalted crusty bread, rice or a baked potato will balance a soup that is only a little too salty.

What about the potato trick? You will often read that a whole raw potato dropped into the pot will absorb the salt. It does not really work – the potato soaks up salty liquid, not just salt. Adding extra diced potato and leaving it in the soup helps a little, simply because it adds bulk.

Three bowls of thick ham and bean soup garnished with fresh parsley.

More Soup Recipes


Please leave a comment and rating if you try this recipe, follow me on Pinterest for more easy recipes and don’t forget to tag me on @Instagram or TikTok so I can see your creations.

No ratings yet

Hearty Ham and Bean Soup

Hearty ham and bean soup made with leftover ham, canned cannellini beans, potato and spinach. An easy one-pot soup, ready in about an hour.
Prep Time: 15 minutes
Cook Time: 45 minutes
Total Time: 1 hour
Servings: 6 – 8
Save this recipe!
Get this sent to your inbox, plus get new recipes from us every week!

Ingredients

  • 2 tbsp olive oil
  • 1 large onion diced
  • 3 stalks celery diced
  • 3 large carrots diced – use the soft carrots from braising the ham if you have them
  • 2 cloves garlic minced
  • ½ tbsp tomato paste
  • 1 cup (250ml) ham stock the strained braising liquid from a ham hock, fat skimmed see note 1
  • 8 cups (2 liters) water see note 1
  • 5 cans cannellini beans 15 oz (400g) cans, drained and rinsed
  • 1 lb (450g) cooked ham shredded or diced
  • 1 large potato peeled and diced small
  • 2 bay leaves
  • 3 cups fresh spinach
  • 4 tbsp sour cream or more, to taste (optional)
  • black pepper to taste
  • 2 tbsp parsley to serve
  • 1 pinch red pepper flakes to serve

Instructions 

Cook the vegetables

  • Heat a little olive oil in a large Dutch oven or soup pot over medium heat. Add the diced onion, celery, carrots and potato and cook for 6–8 minutes, stirring occasionally, until softened.
    2 tbsp olive oil, 1 large onion, 3 stalks celery, 3 large carrots
  • Stir in the garlic and tomato paste and cook for 1 minute, until it darkens slightly.
    ½ tbsp tomato paste, 2 cloves garlic

Simmer

  • Add the diced ham, stock, water, beans and bay leaves. Bring to a rolling simmer, then turn the heat down low and cook for 30–40 minutes.
    1 cup (250ml) ham stock, 8 cups (2 liters) water, 5 cans cannellini beans, 1 lb (450g) cooked ham, 2 bay leaves, 1 large potato

Thicken and season

  • Discard the bay leaves. For a thicker, creamier soup, mash some of the beans and potato against the side of the pot with a wooden spoon, or blend a couple of ladlefuls with an immersion blender and stir them back in.
  • Add the spinach and stir it into the hot soup so that it wilts. Take off the heat and stir in the sour cream if using.
    3 cups fresh spinach, 4 tbsp sour cream
  • Taste the soup before you season. Add plenty of black pepper, and salt only if it needs it – it usually will not.
    black pepper
  • Ladle into bowls and finish with chopped parsley and a pinch of red pepper flakes.
    2 tbsp parsley, 1 pinch red pepper flakes

Notes

  • Note 1: Replace the ham stock and water with low-sodium chicken stock or chicken broth.
  • Ham bone: If you have one, simmer it in the soup with the stock and water. Lift it out before thickening, pick off any meat and stir it back in.
  • Dried beans: Use 1 lb (450g) dried cannellini beans. Soak overnight, drain, boil hard in fresh water for 10 minutes, drain again, then simmer in the soup for 1–1½ hours until tender, adding 2–3 cups (500–750ml) extra water.
  • Too salty? Do not add salt until the end. Dilute with water or unsalted stock, add an extra can of rinsed beans, or finish with sour cream or a squeeze of lemon juice.
  • Make ahead: This soup tastes even better the next day. It thickens as it sits, so loosen it with a splash of water when you reheat it.
  • Fridge: Cool completely and store in an airtight container for up to 4 days.
  • Freezer: Freeze in portions for up to 3 months. Thaw overnight in the fridge. The potato softens a little after freezing, but in a soup like this you will not notice.
  • Reheat: Warm gently on the stove until piping hot, stirring so the beans do not catch on the bottom of the pot.
  • Smoky variation: Use smoked ham, or add ½ teaspoon of smoked paprika with the tomato paste.
  • Greens: Swap the spinach for kale or shredded cabbage and give it 5 minutes in the pot to soften.

Nutrition

Calories: 470kcal | Carbohydrates: 65g | Protein: 37g | Fat: 11g | Saturated Fat: 3g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 5g | Cholesterol: 60mg | Sodium: 1825mg | Potassium: 609mg | Fiber: 20g | Sugar: 4g | Vitamin A: 7701IU | Vitamin C: 29mg | Calcium: 290mg | Iron: 9mg

Nutritional information is always approximate, and will depend on quality of ingredients and serving sizes.

Like this recipe? Leave a comment below!

Using Dried Beans

Canned beans are faster, but dried beans are cheaper and give the soup a little more body. Here is how to swap them in.

  • How much: Replace the canned beans with 1 lb (450g) dried beans or increase the quantity to make a heartier soup.
  • Soak: Cover the beans with plenty of cold water and soak overnight. For a quick soak, cover with water, boil for 2 minutes, then take off the heat and leave for 1 hour. Drain and rinse.
  • Boil first: Cannellini are white kidney beans, and like all kidney beans they need a proper boil. Cover the soaked beans with fresh water, boil hard for 10 minutes, then drain.
  • Add to the soup: Add the beans to the pot with the stock and water and simmer for 1–1½ hours, until tender. You will need 2–3 cups (500–750ml) of extra water, as the beans absorb a lot.

Frequently Asked Questions

Can I make ham and bean soup with canned beans?

Yes – this recipe uses canned cannellini beans, so there is no soaking and the soup is ready in about an hour. Drain and rinse them before adding to the pot.

What are the best beans for ham and bean soup?

White beans. Cannellini are large and creamy, navy beans (haricot beans) are smaller and break down more for a thicker soup, and great northern beans sit in between. Use whichever you have.

Should I drain and rinse canned beans for soup?

Yes for this recipe. The liquid in the can is salty and starchy, and the ham stock already brings plenty of salt. Rinsing gives you control over the seasoning.

What kind of ham is best for ham and bean soup?

Any cooked ham works – leftover baked or glazed ham, gammon, or the meat pulled from a ham hock. Use about 1 lb (450g), diced or shredded. Smoked ham gives a deeper flavor but is saltier, so taste before you season.

Can I add a ham bone to ham and bean soup?

Yes. Simmer the bone in the soup with the stock and water, then lift it out before you thicken the soup, pick off any meat and stir it back in.

How do I thicken ham and bean soup?

Mash some of the beans and potato against the side of the pot, or blend two ladlefuls and stir them back in. You can also simmer the soup uncovered for 10 minutes, but remember this concentrates the salt.

What can I use if I do not have ham stock?

Low-sodium chicken or vegetable stock. Use it in place of both the ham stock and the water, and taste before adding any salt.

Can I freeze ham and bean soup?

Yes. Cool it completely and freeze in portions for up to 3 months. Thaw overnight in the fridge and reheat gently with a splash of water.

How long does ham and bean soup keep in the fridge?

Up to 4 days in an airtight container. It thickens as it chills, so add a little water when reheating.

Why are my dried beans still hard?

Old beans can take much longer to soften, and very hard water slows them down too. Keep simmering and add more water as needed.

Is ham and bean soup gluten free?

The soup itself contains no gluten ingredients. Check the labels on your stock and canned beans to be sure.

Troubleshooting

ProblemCauseFix
Soup is too saltySalty stock, unrinsed beans or salt added too earlyDilute with water or unsalted stock, add more beans or potato, finish with lemon juice
Soup is thinNot enough starch releasedMash or blend some of the beans and potato, or simmer uncovered for 10 minutes
Soup is too thickBeans and potato absorb liquid as it standsStir in hot water a little at a time
Soup tastes blandStock too diluted, or needs acidAdd more ham stock, black pepper and a squeeze of lemon juice
Soup is greasyFat not skimmed from the stockChill the stock first and lift off the fat, or skim the surface with a spoon
Beans are mushySoup boiled hard or simmered for too longKeep it at a gentle simmer and check after 30 minutes
Dried beans will not softenOld beans or hard waterKeep simmering and top up with water as needed

You may also like:

Leave a comment

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

Recipe Rating