Ham and Bean Soup Recipe
My simple and delicious version is easy to make and has an extra special flavor because I use smoked ham bones, a simple but flavorful combination of vegetables and a few key seasonings. This is pure comfort in a bowl, and it’s one of those recipes that brings back memories of cozy family dinners and those chilly evenings when only a warm bowl of soup will do.

Featured Comment
This was such a comforting delightful meal! We really enjoyed it! ~Jane
Table of contents
Why This Is An Amazing Ham and Bean Soup
This is one of my favorite comforting soups to make because:
- It’s budget-friendly: dried beans and smoked ham bones are usually inexpensive, which makes this an economical meal.
- High in protein and fiber: Each serving packs about 22 grams of protein and 15 grams of fiber, making it a nutritious and filling.
- Perfect make-ahead meal: This soup actually gets better as it sits! The flavors deepen and meld together beautifully.
- Can also use leftover holiday ham: This is a great recipe to use the leftover ham bone (aka ham shank) from your holiday dinner, and you will get that delicious flavor into your soup.
- Freezer-friendly: this soup freezes very well, whether in portions of the whole batch.
- Naturally creamy: The slow-simmered beans create a thick, velvety texture without needing any dairy. The starches from the beans naturally thicken the soup as it cooks.
- One-pot meal: Everything cooks together in one pot, which means minimal cleanup and maximum flavor.
Secrets to a Flavorful Soup:
- I highly recommend that you use smoked ham bones like the smoked neck bones or smoked ham hock. That flavor transfers into the soup and beans. (My personal recommendation is neck bones because there is still meat on those you can add to soup. That’s what I use in my split pea soup as well.)
- Using dried beans will result in deep, rich flavors, thicker and heartier soup, and a pleasant texture of the beans. It great is all my bean soups, just like the Tuscan white bean soup and black eyed pea soup. (P.S. it’s cheaper and less sodium as well.)
- I also have an Instant Pot ham and bean soup version, I created to make this soup in a pressure cooker.

Key Ingredients and Substitution Options
All you need to create the flavorful but simple ham and bean soup:
- Smoked Ham Bones: Look for smoked neck bones or smoked ham hock (or both). These add incredible flavor! You can also use a leftover ham bone from your holiday meal. If you didn’t have ham for dinner, you can buy a ham bone from the butcher for next to nothing.
- Ham: I use about 14 oz of diced ham in addition to the bones. You can use leftover ham, ham steak, or even deli ham. If you have a bone with plenty of meat still on it, you can reduce the amount of additional ham.
- Navy Beans: I prefer navy beans for this soup, but you can also use great northern beans or cannellini beans. Note that larger beans will take a bit longer to cook.
- Vegetables: The classic combination of onions, carrots, and celery (aka mirepoix, soffritto, or Holy Trinity) creates the perfect flavor base.
- Garlic: Fresh garlic adds wonderful flavor. I use 5-6 cloves, but adjust to your taste.
- Seasonings: Italian seasoning, garlic powder, black pepper, and bay leaves create the perfect flavor profile. Start with less salt since the ham can be quite salty, and add more at the end if needed.
- Water: Yes, just water! The ham bones and smoked meat add so much flavor that you don’t need broth. However, if you don’t have ham bones, you can use chicken broth for extra flavor.
How To Make Ham and Bean Soup

- Prepare your veggies and rinse the dried beans under some cold running water.
- Sauté the onions, carrots, and celery in a soup pot with some oil until the veggies start to brown. This step is important because it brings out the natural sweetness in the vegetables. Add in pressed garlic and let it sauté JUST until fragrant (don’t overcook or it will be bitter).
- Add the the ham boned, diced ham, beans, and seasoning.
- Pour in the water and let the soup come to boil over medium to medium-high heat.
- Lower the heat to low, cover with a lid (but leave a crack for the steam to escape) and let the soup cook for about 1.5-2 hours. Take the lid off and cook another 1.5-2 hours. Remember to stir from time to time. The longer it simmers, the thicker it becomes and the softer the beans get. The beans will release their starches, naturally thickening the soup and creating that wonderful creamy texture.
- Discard the bay leaves. Take the bones out (take the meat off the bones if using bones with meat still on it and add the meat back to the soup). Just be thorough to check for any small bone pieces.

Tips for the Best Ham and Bean Soup
About soaking beans: With small beans like navy beans and great northern, I honestly haven’t noticed much texture difference between soaked and not soaked beans. When you don’t soak the beans beforehand, it will take a little longer to cook, about an hour or so. So if you forgot to soak the beans, it’s not a big deal. Half the time, I don’t bother with smaller beans. However, if you do soak them (8-12 hours in cold water), it will reduce the cooking time slightly and for larger beans, it softens the skin.
How to thicken your soup: Want an even creamier soup? Mash some of the beans against the side of the pot with a wooden spoon. OR use an immersion blender to puree about 1 cup of the soup (with some beans in it), then stir it back in. Remember that the soup will naturally thicken as it cools and the beans release their starches
Dealing with salty ham: Ham can be quite salty, especially honey-baked ham. Use low-sodium broth if substituting water with broth. Wait to add salt until the HALF way through cooking, then taste and adjust.
Want to add some greens? Want to boost the nutrition? Stir in a few handfuls of chopped spinach, kale, or collard greens during the last few (about 5) minutes of cooking. They’ll wilt right into the soup and add beautiful color.
Storing and Freezing Leftover Soup
- Store cooled cooked soup in an airtight food storage container, in the refrigerator. Properly stored, it should last for up to 5-7 days. Make sure you always use a clean ladle when getting a serving out of the container. This will help ensure longer shelf life.
- Reheating this soup is simple: you can reheat individual portions in the microwave or in a small sauce pot over medium heat. Note that the soup will thicken considerably as it sits in the fridge, so if you want, you can add a splash of water or broth when reheating.
How to freeze Ham and Bean Soup?
- Once ham and bean soup is cooled to room temperature, portion it into freezer zip-lock bags. Get the air out and seal. Label and date each bag and lay them flat on a cutting board. Place it in the freezer for up to 3 months.
- Expert Tip: It’s easier to freeze soup in freezer bags because you can easily stack flat bags of frozen soup. This will save you a lot of room. It will also thaw faster.
- Thaw the soup slowly, overnight in the refrigerator (or for up to 24 hours depending on the amount).

Is It Necessary to Soak Beans For Soup?
Short answer: no, it’s not necessary. Personally, with small beans like navy beans and great northern, I haven’t noticed texture difference between soaked and not soaked beans.
When you don’t soak the beans beforehand, it will take a little longer to cook, about an hour or so. So if you forgot to soak the beans, it’s not a big deal. (Half the time, I don’t bother with smaller beans.)
More Recipe FAQs
Can I use different beans?
Yes! Navy, great northern, cannellini, or a bean mix all work. Just keep in mind that larger beans, like great northern or pinto beans, usually take longer to cook and may have a thicker skin or denser texture.
What if I don’t have a ham bone?
If you don’t have a leftover ham bone, you can use a smoked ham hock or ham shank, which are usually inexpensive and add tons of flavor. Smoked ham steak cut into chunks also works well, and if you only have diced ham, using some chicken broth in place of water will help boost the flavor. Adding a little smoked bacon is another easy way to bring in that smoky taste.
Can I add other vegetables?
Yes, this soup is very flexible and works well with other vegetables. Potatoes or sweet potatoes are a great addition, but they should be added during the last hour so they don’t break down too much. You can also add extra celery and carrots, or stir in leafy greens like spinach or kale during the last 10 minutes. Chopped tomatoes and/or bell peppers can also be added for a slightly different flavor.
Can I use canned beans instead?
Yes, canned beans are a great shortcut if you need the soup done faster. You’ll want to use about four 15-ounce cans of white beans, and make sure to drain and rinse them well. Since the beans are already cooked, the soup only needs about 30-45 minutes of simmering, though the flavor won’t be quite as deep as when using dried beans.

DID YOU MAKE THIS RECIPE? PLEASE leave a 🌟 star rating! Let me know how you liked it by leaving the 📝 comment below or share and tag me on social media @willcookforsmiles. DON’T FORGET to subscribe to my newsletter!

Ham and Bean Soup Recipe
Ingredients
- 2 tbsp avocado oil to sauté veggies
- 1 yellow onion
- 2-3 celery ribs
- 3 medium carrots
- 5-6 garlic cloves
- 1.5 lbs smoked ham bones (neck or hock) or leftover ham bone
- 14 oz ham
- 1 lb dried navy beans
- 2 bay leaves
- 1-2 tsp coarse salt to taste
- 1 tsp black pepper to taste
- 1 tbsp Italian seasoning
- 2 tsp garlic powder
- 10 cups water
Instructions
- Dice ham and onion, and slice carrots and celery. Transfer dried beans into a mesh strainer and rinse them under the cold running water. Set aside.
- Preheat a large pot over medium heat and add oil once preheated.
- Sauté onions, carrots, and celery until they start to brown. Stir in pressed garlic and let it sauté until fragrant (a few seconds.)
- Add the ham bones to the pot and then add ham, beans, and seasonings. Pour in the water and stir well.
- Let the soup come to a gentle boil and lower the heat to low.
- Cover the pot with a lid but leave a small space for the steam to escape. Cook covered for 1.5-2 hours and take off the lid. Cook uncovered for another 1.5-2 hours. Remember to stir from time to time.
- At the end, discard the bay leaves and the pork bones. (Note that if there is meat left on any bones, you can take it off and add back to the soup. Just be thorough to sift through the meat for any bone pieces.)
Video
Notes
- Slow Cooker – while the final result will not be quite the same, you can definitely make this soup in a slow cooker. Sauté the veggies in the pan and then add them to the slow cooker. (Use a large slow cooker, 5 qt. or larger.) Add remaining ingredients and cook on LOW for 8 hours (or on HIGH for 4 hours.)
- Beans – note that soaking the beans is optional. It would reduce cook time slightly and for larger beans, it softens the skin.
You can use navy beans, great northern beans, or cannellini beans in this soup. (Note that larger beans will have a little longer cook time.) - Ham bones – I recommend using smoked ham bones for more flavor, like smoked neck bones or ham hock. You can also use leftover ham shank.
- Storing – store leftovers in an air-tight container, in the refrigerator, for 5-7 days.
Nutrition
Some More Soup Recipes To Make
If you love this ham and bean soup, try my creamy ham and potato soup for another delicious way to use leftover ham, or my cauliflower ham soup. For more hearty bean soups, my Instant Pot split pea soup uses smoked pork neck bones for incredible flavor, the Tuscan white bean soup is elegant and comforting, and lentil soup is a delicious comfort favorite.
Would you like to save this recipe?
All images and text ©Lyubov Brooke for ©Will Cook For Smiles. Please do not use my images without prior permission. If using my posts in collections and features, please link back to this post for the recipe.
Disclaimer: Nutrition information shown is not guaranteed to be 100% accurate as most ingredients and brands have variations.
This was such a comforting delightful meal! We really enjoyed it!
Can i soak my beans over night and still use the instapot?
Soaking the beans is optional. It would reduce cook time slightly, and for larger beans, it softens the skins.