Ham and Bean Soup is just pure comfort in a bowl. It’s a time-honored recipe here at Casa SoupAddict that’s enjoyed many turns simmering on my stovetop. A humble recipe that combines white beans and a smoky ham hock to create a rich and creamy broth, it’s rustic and hearty, and the perfect dish for when only the comfort of soup can lift the spirits after a long day of adulting.

Beans, Beans, Wonderful Fruit
I didn’t intend for it to happen, but looking back on winter ’24-’25, I was pretty obsessed with bean soups. Still am, actually, even as the weather has started to warm.
I’ve developed an immense appreciation for all of the best qualities of dried beans in soup. They’re frugal (a pound of dried beans is cheap), and with just a few other ingredients, you can make something amazing. They’re protein-packed, which helps my blood sugar goals. They store well, which means I can keep a selection of them in my pantry all season long.
With Ham and Bean Soup, it’s a handful of basic ingredients and, boom!, soup. I planned the timing of this soup to line up with Easter and the leftover holiday baked ham that many celebrants have. As a fan of not wasting anything delicious, the extra ham meat and ham bone goes right in the soup, for a most worthy spring dinner with a side of garlic bread.
If you’re also a bean soup aficionado, I would be extremely remiss not to mention the bean guru of the U.S., Rancho Gordo. The owner, Steve Sando, has a love for beans that rivals my love of soup, and he’s cultivated the premier source for heirloom beans. Browsing through his inventory is fascinating, and even if you don’t intend to make a purchase, there’s a lot of info on the site about cooking beans in just about any kind of vessel you own.

I hope you’ll try my Ham and Bean Soup because it’s –
- Hearty and Filling: This soup is packed with protein from the ham and fiber from the beans, it’s a complete meal.
- Great for Meal Prep: This recipe makes a family-sized batch, perfect for enjoying throughout the week, and freezes beautifully.
- Budget-Friendly: This soup uses inexpensive ingredients that are easy on the wallet but fills hungry tummies.
- Full of Rich, Smoky Flavors: The smoked ham hock infuses the soup with a deep, savory bacon-y notes.
- Naturally Creamy: Slow-simmered beans create a thick, velvety texture without needing any dairy.
If this soup sounds delish, you might also like my version of the famous Senate Bean Soup, Tuscan White Bean Soup, Pasta e Fagioli, or even my Cuban Black Bean Soup.
Key Ingredients
Beans — Great northern beans are my go-to here, but you can substitute cannellini or navy beans, too,
Smoke ham hock — A nice smoked ham hock or pork shank adds that extra oomph of flavor that you can only get from bone-in cuts. A leftover ham bone from a holiday meal (think post-Easter soup!) works, too.
Aromatic vegetables — The classic mirepoix of onions, carrots, and celery, plus a sweet leek and garlic, creates a flavorful foundation for this soup. Note that we remove and save a portion of the veggies to add back later in the cook, so that they don’t get mushy.
Cubed ham — I always add a generous portion of cubed baked ham to this soup, both for extra flavor and a hearty texture. The ham hock will have some meat on it, but I like to supplement it with extra ham.
Seasonings — Ground mustard seeds add a fresh and lively note to the vegetables. Don’t skip it! I also like to add a fresh rosemary sprig towards the end of the cook to infuse the soup with its herbal, almost pine-y, notes.

SoupAddict’s Notes
- I think beans have a better texture when they’re soaked at room temperature for hours versus trying to shortcut the effort. But, I do know what it’s like to forget to start the soak! You can accelerate the process by first boiling the beans, and then leaving them to sit in the hot water for an hour.
- If you soaked the beans overnight (or the day before), and still have hours before you’re ready to cook, stash the beans in their soaking water in the fridge, to reduce the risk of contamination.
- The starches released by the beans will thicken the soup a bit, but you can further control the texture of the soup by using the softened beans to create a creamier base. Either smash some of the beans against the side of the pot and stir them into the soup, or spoon out and whirl up some of the beans and soup liquids in a blender.
- Ham hocks from the grocery store are usually either frozen or overwrapped in plastic. Either way, they can be a bit dry. Optionally, you can boil the hock for about 10 minutes in plain water to “wake it up” before adding to the soup pot. Then use the liquid as part of the water for the soup in the recipe.
- Most ham hocks and pork shanks will have some meat still on the bones, which you can pull off at the end of the cook, but probably not enough to sufficiently fill out the soup with ham. That’s why I suggest adding extra baked ham.
How to Make Ham and Bean Soup
Ready to make the recipe? Skip to the recipe card now to see the full ingredient list, quantities, prep/cooking times, and printable, detailed instructions. Or, keep scrolling for a visual walk-through of making the soup.
Prep notes

Here’s a quick guide for prepping the ingredients, if you need it (not including anything that simply needs to be measured out of a container, such as dried herbs and liquids).
- Pour the great northern beans into a large bowl or pot. Pick over for debris, and cover the beans with 2 inches of water. Let the beans soak for at least 6 hours.
- Peel and chop the onion, discard the stem and root ends. Clean the celery ribs, slice in half lengthwise, and then dice to match the onions. Scrub and peel the carrot, and then dice.
- Break off two cloves of garlic from the bulb, and peel the hard outer and papery layers. Mince finely.
- Leeks can accumulate dirt between their layers, so be sure to clean them thoroughly before chopping the white and light green sections (discard the dark green leaves, or save them for soup broth)
- Chop the cooked ham into chunks or cubes. If you don’t have leftover ham on hand, you can buy a small package of pre-cooked and cubed ham in the lunchmeat section.
- Clean the parsley leaves and chop, and clean and slice the green onions thinly on the diagonal.
Saute the aromatic vegetables


Cook the onions, celery, carrots, and leeks in a bit of oil until softened. Stir in the garlic and seasonings. Transfer most of the veggies to a bowl and set aside. We’re using some of the veggies to flavor the soup as it cooks, and holding the rest back to add later, so that they retain their shape and flavor.
Add the beans and ham hock


Position the ham hock in the pot, turned so that it has a low vertical profile and will remain mostly submerged in the soup liquids as it cooks. Add the beans and water, and set it to boil. Cover, and let it do its thing!
Step 3: Finish the soup


About an hour and a half into the cook, remove the ham hock and let cool. Return the sautéed vegetables to the soup, along with the cubed ham and a rosemary sprig. Continue cooking until the beans are perfectly tender. Don’t forget to remove the rosemary sprig!
Chop up any meat from the ham hock and add to the soup. Serve with your favorite toppings.
Storing
Bean soups store very well in both the fridge and the freezer. The soup will thicken up as it rests, so be prepared to reheat the soup with a bit of water or broth before serving. Ham and Bean Soup is great for meal prep, and the leftovers made a lovely lunch!

I hope you’ll get a chance to try this Ham and Bean Soup sometime soon. Cooking bean soup is a lovely way to spend a lazy off-day afternoon, with the return being a hearty and satisfying homemade dinner that you’ll feel good about serving to your loved ones.

Ham and Bean Soup
Ingredients
- 1 pound white beans (great northern, navy, or cannellini)
- 1 smoked ham hock or pork shank* , thawed if frozen (or bone from a spiral ham)
- 1 tablespoon olive or avocado oil
- 1 tablespoon butter
- 1 small onion , diced
- 1 small leek , chopped, white and light green parts only
- 2 ribs celery , diced
- 1 medium carrot , diced
- 2 cloves garlic , minced
- 1 teaspoon mustard powder
- 1 teaspoon dried Italian herb blend
- 2 cups baked ham , cubed or shredded (about 8 ounces)
- 1 stem fresh rosemary
- 1 teaspoon lemon juice (optional)
- salt and black pepper
- 1 tablespoon chopped fresh parsley
- 2 green onions , sliced thinly
Instructions
Prep
- Overnight: Pour the beans into a strainer and pick through to remove debris and broken or discolored beans. Rinse the beans with cold water. Transfer the beans to a large bowl or 3 quart pot. Add 8 cups of water. If any beans float to the surface, push them under. Let soak for a minimum of 6 hours.**
Cook the beans
- In a large 5 or 6 quart soup pot or Dutch oven, heat the oil over medium until the surface shimmers. Add the onions, leeks, celery, and carrots, and saute until the onions begin to soften. Stir in the garlic, mustard powder, and dried herbs, mixing well, until the garlic is fragrant (just a minute or so).
- Transfer most of the veggie mix to separate bowl and set aside. (We’re cooking some of the vegetables with the beans to add flavor, and saving the rest to add back later so they don’t cook down to mush.)
- Clear an area in the center of the pot, and place the ham hock in it, positioned so that it’s short enough that most or all of it will be under water during the cook.
- Drain the soaked beans and pour into the pot around the ham hock. Add 5 cups of water to the pot, increase the heat and bring to an active boil (bubbles should break the surface but not spit, hiss, or splatter over the stove). Adjust the heat down slightly and cover the pot.
- Start the clock. The beans will take an hour-and-a-half to two hours to cook.
Finish the soup
- At the one-hour mark, test the beans. They’re likely not ready at this point (i.e., they’re not smashable), but they should be softening. Check every 15 minutes from here.
- At the one-and-a-half hour mark, remove the ham hock from the soup and let rest in a bowl to cool. Return the reserved vegetables to the pot, and add the baked ham, along with the sprig of rosemary. Cover the pot and cook for 15 minutes more. Remove the rosemary sprig (it’s okay if some of the leaves have fallen off).
- The soup is ready when the beans are easily flattened against the the side of the pot with a spoon. The starches from the beans will have thickened the soup, but you can control the creaminess of the soup by smashing some of the beans and stirring them well into the soup.
- When the ham hock is cool enough to handle, cut off any meat remaining on the bones and add to the soup.
- Taste and add salt and black pepper to taste. Serve with parsley and green onions for garnish.