Traditional ham and bean soup is a classic comfort food built on dried white beans, a leftover ham bone, and simple aromatic vegetables, slow-simmered into a rich, hearty broth. It’s long been a practical way to stretch a holiday ham, since the bone still carries plenty of flavor even after the meat has been carved away, and dried beans keep the whole dish budget-friendly. This traditional stovetop version serves about 8 and can easily be adapted to what you already have in the pantry.
Ingredients
- 1 lb dried Great Northern beans (or navy beans)
- 1 tbsp olive oil
- 1 yellow onion, diced
- 2 carrots, diced
- 2 celery stalks, diced
- 3 garlic cloves, minced
- 1 ham bone (or 2 smoked ham hocks)
- 8 cups water or chicken broth
- 2 bay leaves
- 1 tsp dried thyme
- ½ tsp black pepper
- 2 cups cooked ham, diced (from the bone, or extra leftover ham)
- Salt, to taste (added at the end)
Soak the Beans
Rinse the beans and pick out any broken or discolored ones. Place them in a large bowl, cover with about 4 inches of cold water, and let soak overnight or for at least 8 hours. Drain and rinse before using. If you’re short on time, use a quick soak instead: boil the beans in water for 2 minutes, then let them sit off the heat for 1 hour before draining.
Sauté the Aromatics
Heat the olive oil in a large stockpot or Dutch oven over medium heat. Add the onion, carrots, and celery, and cook until softened, about 5 to 7 minutes. Stir in the garlic and cook for 1 more minute until fragrant.
Add the Bone and Liquid
Add the soaked and drained beans, the ham bone, water or broth, bay leaves, and thyme to the pot. Stir well and bring everything to a boil over high heat.
Simmer the Soup
Reduce the heat to low, cover, and let the soup simmer gently for 90 minutes to 2 hours, stirring occasionally, until the beans are very tender but still hold their shape. Hold off on adding salt until near the end of cooking — salting too early can keep the beans from softening properly.
Shred the Ham and Finish
Remove the ham bone and bay leaves from the pot. Once the bone is cool enough to handle, pull off any remaining meat, discard the bone and gristle, and chop the meat. Stir the chopped meat back into the soup along with the additional diced ham. Let the soup simmer for another 20 to 30 minutes so the flavors meld together.
Season and Serve
Stir in salt and black pepper to taste. Ladle into bowls and serve hot, with crusty bread on the side if you like.
Recipe Notes
- No ham bone on hand? Smoked ham hocks work well as a substitute — cook them the same way and pull the meat off at the end.
- Slow cooker version: Combine everything except the extra diced ham and cook on low for 6 to 9 hours, adding the ham near the end.
- Instant Pot version: Skip the overnight soak and cook on high pressure for about 45 minutes with a natural release.
- Storage: Leftovers keep well in the refrigerator for up to 4 days or in the freezer for a few months.
Join The Discussion
Ham and bean soup is one of those dishes everyone’s family seems to make a little differently, from the bean variety to whether the bone goes in whole or gets turned into stock first. How do you make yours — navy beans or Great Northern, slow cooker or stovetop? Share your family’s twist on this classic, favorite add-ins, or tips for getting the broth just right.