Cannellini Bean and Ham Soup is a cozy, hearty, and healthy meal. Our white bean soup recipe is easy to make in a crockpot or on the stove!

Â
When the weather turns cooler and you want a comforting, cozy dinner, Cannellini Bean and Ham Soup is the perfect solution! This hearty white bean soup recipe is easy to make, packed with protein and fiber – a meal that will warm you up from the inside out.

If you have a ton of leftover ham and need more recipes, try our Ham Cheese Frittata or Potato Ham Soup.
Why you’ll Love this Cannellini Bean and Ham Soup
- Multiple cooking options. For a quick meal, this soup recipe can be made on the stove in 20 minutes, or in an Instant Pot in 15 minutes!
- Great use for leftover ham. With the rising cost of groceries, we try to use leftovers whenever possible. In addition to making this soup recipe with leftover ham, you can add the leftover meat to a ham cheese frittata or this potato soup with ham.
- Full of wholesome ingredients. If you’re into eating healthy, this soup is loaded with healthy veggies and beans, which are packed with vitamins and fiber.
Ingredients
For this ham white bean soup you’ll need:
- olive oil
- veggies – We use yellow onion, carrots, and celery
- herbs and spices – Just the parsley is fresh; the other herbs and spices are dried/ground.
- cooked ham – this is seriously the best way to use up leftover ham.
- chicken broth – veggie broth or beef broth are great. We use low/no sodium broth because ham is a little higher in salt.
- cannellini beans – these are our favorite mild flavor bean. You can use navy beans or great northern beans too!

Substitutions
Olive Oil – This recipe doesn’t need a lot of extra oil because some fat will render from the ham. You can use avocado oil, butter or ghee.
Yellow Onion – Any type of yellow or brown onion will work in this recipe. These onions tend to be more mild and slightly sweet. White onions can also work in a pinch but will be a little sharper. If you are an onion lover, you can use a whole onion instead of half (you just may need an extra drizzle of olive oil to sauté).
Carrots & Celery – Carrots and celery (and onion!) help create a base of flavor- I don’t recommend substituting these ingredients; however, you can add a little more or less based on your preferences and what you have on hand.
Italian Parsley – Italian parsley, or flat-leaf parsley can be subbed with fresh basil, oregano, or sage. I recommend having at least ¼ cup of loosely packed chopped fresh herbs in this soup, but more is a great way to add some extra flavor. You can also sub with 1 teaspoon dried parsley, but it will not be as flavorful.
Dried Oregano – Fresh oregano (about 1-2 tbsp minced) or dried basil can be used in place of the dried oregano.
Garlic Powder – Garlic powder is convenient but can usually be substituted for fresh garlic in most recipes. If you have 2 large cloves of garlic on hand, mince them and throw them into the soup after the onions have sautéed in place of garlic powder.Â
Smoked Paprika – The smokiness from the smoked paprika pairs really well with the ham, but regular paprika can also be used.
Sea Salt – I used 1/4 teaspoon of sea salt and low sodium chicken broth, and that was about perfect saltiness for me. When salting this soup, keep in mind that ham tends to be pretty salty!
Cooked Ham – The ham is the star of the show in this recipe! The higher quality ham that you use the more flavorful the soup will be. Dice up the ham fairly small so that it can soften and become tender in a relatively short cook time, and always slice against the grain. If using ham that has been previously frozen, thaw before use, and keep in mind that it tends to be a bit chewier after freezing. Look for ham that is nitrate and sugar free! We love Butcherbox for our meat.
Chicken Broth – Homemade ham stock is an awesome alternative to chicken broth/stock in this recipe but is not always something you have on hand. You can use vegetable broth or beef broth in place of chicken broth. Broth and stock can be used interchangeably!
White Cannellini Beans – I used canned beans in this recipe. Cooked dry beans can also be used. If using dry beans, you will need about 3.5 cups of beans measured once cooked and drained. You can swap out the beans for quartered baby red potatoes or peeled and diced white sweet potato. If trying this substitution, you will need about 3-4 cups of diced potato. Keep the soup on the stove until the potatoes are fork-tender (about 20-25 minutes).
Thyme – If you purchase thyme and the stems are green rather than woody, you can chop the thyme instead of throwing it into the soup whole.
Bay Leaves – I buy fresh bay leaves and freeze them. I feel like fresh bay leaves are more flavorful than the variety you find in the spice aisle at the grocery store, but that is my personal preference.
Vegetarian – If you are looking for a vegetarian bean soup, we love this Tuscan White Bean Soup!
Gluten Free – All ingredients used in this recipe can be gluten-free. If you have a severe intolerance or Celiac be sure to read the labels closely on store-bought ingredients like the chicken broth and ham to verify that they are certified gluten-free.
How to make Ham and Bean Soup

- In a large pot, heat 1 olive oil . Add onion and sauté for several minutes, until translucent and fragrant.

- Add carrots and celery. Sauté the veggies for about 3-4 minutes. Stir in dried herbs and spices to distribute evenly.

- Add the diced ham to the pot and stir. Cook for about 5 minutes, stirring periodically.

- Add the broth, drained beans, bay leaves and thyme. Cover and bring to a boil then reduce the heat to a simmer, for 15 minutes.

- Remove the lid. Discard the bay leaves. Run your fingers along the thyme to release the leaves into the soup and discard the stems.

- Serve and enjoy!
Can You Make Ham and Bean Soup with a Ham Bone?
Ham bones are great ways to add flavor and nutrition to a soup recipe. You can use a ham bone in this recipe, but that will require a longer cooking time to extract the flavor from the bone and you may need to reorder how the ingredients are added because the longer cooking time may overcook the veggies and beans and cause them to fall apart.
I prefer to use the ham bone to make stock and use that stock in the recipe (an Instant Pot makes this a breeze!). I don’t recommend adding a ham bone in place of the ham as there won’t be quite enough meat to achieve a satisfying, chunky soup. If you need a broth recipe for your ham bone, try this Instant Pot Bone Broth Recipe or Crockpot Bone Broth!
Serving Suggestions:
This ham and bean soup is hearty enough to be enjoyed on its own or with a side of bread. It can also be enjoyed with a sandwich, strawberry goat cheese salad, or our Healthy Chicken Tenders.
Here are some of our favorite toppings:
- shaved parmesan cheese
- chives, green onions, or other fresh herbs
- black pepper
- crackers

Liz’s Tips for the best soup:
Trim off any larger pieces of fat from the ham. This way, you will avoid any bites of chewy fat.
Slice the ham against the grain and dice it into about 1/4-inch cubes. Small pieces work well because the surface area of the ham gets exposed to more broth, so it becomes super tender, and the ham gets dispersed so that you get some in every bite.
Do not skip sautéing the vegetables first and then adding the ham and allowing some of the fat to render. This helps to tenderize the ham and build flavor in the soup.
This soup is hearty and chunky. If you prefer your soup more brothy you can add 2 additional cups of broth to thin it out.
White Bean Soup with Ham FAQs
This soup isn’t meant to be a creamy thick soup. It is a hearty, chunky soup.
If you have a bland ham and bean soup, you likely didn’t add enough spices. This recipe is loaded with dried and fresh herbs and spices that make it incredibly flavorful!
Storage
Storing: Most soups, including this one, keep well in the fridge for 4 to 5 days, as long as they are kept in an airtight container. However, if you use leftover ham, we recommend enjoying the soup within 1-2 days.
Freezing: You can freeze this soup for up to 3 months. We like these containers for freezing! Some of the veggies and beans may lose some of their structure after being frozen but the flavor will still be there.
If you need more freezer friendly recipes check out our Fill Your Freezer Ebook with 22 easy freezer meals!
Reheating: Simply pull the soup from the freezer and store it in the fridge to thaw for about 24 hours, or microwave/reheat directly from frozen.
Reheat the soup on the stove top and top it with some fresh herbs and shaved parmesan cheese for the easiest of meals!

More Healthy Soup Recipes:
Looking for other soup recipes? Check out these 40+ Healthy Soup Recipes. Click here to grab our free healthy soup cookbook.

Cannellini Bean and Ham Soup
Ingredients
- 1 tablespoon extra virgin olive oil
- ½ cup diced yellow onion diced (120 g) about 1/2 a large onion
- 1 cup carrots sliced into about ¼ inch rounds (about 2 large carrots, 125 g)
- 1 cup celery thinly sliced (about 2 large stalks, 115 g)
- ¼ cup fresh flat leaf parsley finely chopped and loosely packed
- 1 teaspoon dried oregano
- ½ teaspoon black pepper
- ½ teaspoon garlic powder or 2 large cloves of garlic, minced
- ½ teaspoon smoked paprika
- ¼ teaspoon sea salt optional – omit for low salt
- 3 cups cooked ham diced into about ¼ inch cubes (about 12 ounces or 340 g)
- 4 cups chicken broth low or no salt
- 2 15 oz cans white cannellini beans rinsed and drained – low or no salt
- 5 sprigs fresh thyme
- 2 bay leaves
Instructions
Stove Top Instructions
- In a large pot, heat 1 tbsp of olive oil over medium heat. Once the oil is hot, add the diced onion and sauté for several minutes, until the onion becomes translucent and fragrant.
- Add the sliced carrots and sliced celery to the stock pot and sauté the veggies for about 3-4 minutes or until they start to become tender.
- Season the vegetables with dried oregano, black pepper, garlic powder, smoked paprika, and salt to taste. Stir and distribute the seasonings evenly.
- Add the diced ham to the pot and stir. Cook until some of the fat begins to render, about 5 minutes, stirring periodically.
- Add the broth and the drained beans to the pot, stirring gently. Top the soup with the bay leaves and thyme and cover the pot with a lid. Allow the soup to come to a boil and then reduce the heat to maintain a simmer, and simmer for about 15 minutes.
- Remove the lid and stir the soup, bringing the bay leaves and thyme to the surface. Discard the bay leaves. Run your fingers along the thyme to release the leaves into the soup and discard the stems.
- Serve the soup warm. Top with shaved parmesan, chopped parsley, and crushed red pepper, or enjoy as is.
Crock Pot Instructions:
- In a large pot, heat 1 tablespoon of olive oil over medium heat. Once the oil is hot, add the diced onion and sauté for several minutes, until the onion becomes translucent and fragrant.
- Add the sliced carrots and sliced celery to the stock pot and sauté the veggies for about 3-4 minutes or until they start to become tender.
- Season the vegetables with dried oregano, black pepper, garlic powder, smoked paprika, and salt to taste. Stir and distribute the seasonings evenly.
- Add the diced ham to the pot and stir. Cook until some of the fat begins to render, about 5 minutes, stirring periodically.
- Transfer the ham/veggie mixture to the crockpot base.
- Add the broth and the drained beans to the crockpot, stirring gently. Top the soup with the bay leaves and thyme.
- Cover the crockpot and set to high for 4 hours or low for 6 hours.
- When ready to eat, remove the lid and stir the soup, bringing the bay leaves and thyme to the surface. Discard the bay leaves. Run your fingers along the thyme to release the leaves into the soup and discard the stems.
- Serve the soup warm. Top with shaved parmesan, chopped parsley, and crushed red pepper, or enjoy as is.
Instant Pot Instructions:
- Set the instant pot to Saute for 10 minutes. Heat 1 tablespoon of olive oil over medium heat. Once the oil is hot, add the diced onion and sauté for several minutes, until the onion becomes translucent and fragrant.
- Add the sliced carrots and sliced celery to the stock pot and sauté the veggies for about 3-4 minutes or until they start to become tender.
- Season the vegetables with dried oregano, black pepper, garlic powder, smoked paprika, and salt to taste. Stir and distribute the seasonings evenly.
- Add the diced ham to the pot and stir. Cook until some of the fat begins to render, about 5 minutes, stirring periodically.
- Add the broth and the drained beans to the pot, stirring gently. Top the soup with the bay leaves and thyme and cover the pot with a lid. Cover the instant pot and set to Sealing, High Pressure for 6 minutes. Once the soup has come to pressure/cooked, let the pressure naturally release for 5 minutes, then quick release the remaining pressure.
- Remove the lid and stir the soup, bringing the bay leaves and thyme to the surface. Discard the bay leaves. Run your fingers along the thyme to release the leaves into the soup and discard the stems.
- Serve the soup warm. Top with shaved parmesan, chopped parsley, and crushed red pepper, or enjoy as is.
Monique R. says
This is a very good soup, very warming on a cold day. Will be making again for sure.
Monique R. says
This soup is really good, very warming on a cold day. Will be making again for sure.
De says
This turned out so good! The broth is very flavorful. We loved it and I will def make again!