Ham and Bean Soup
intro
Smoky, hearty, budget-friendly comfort soup loaded with tender white beans and savory ham, perfect for warming up cold winter days and using leftover holiday ham.
Ingredients
Steps
Prep the dried beans
First, sort through 450g (2 cups) dried great northern beans, discarding any small stones or shriveled, discolored beans. Rinse the sorted beans under cold running water in a colander, then transfer to a large stockpot, cover with 5cm (2 inches) of cold water, and bring to a rolling boil over high heat. Once boiling, turn off the heat, cover the pot tightly with a lid, and let the beans quick-soak for 1 hour (no overnight soak required), then drain thoroughly and set aside.
Sauté aromatic vegetables
Heat 30ml (2 tablespoons) olive oil in a large heavy-bottomed soup pot over medium heat. Add the 150g diced yellow onion, 120g diced carrot, and 100g diced celery, cooking for 7-8 minutes, stirring occasionally, until vegetables are soft and slightly translucent. Stir in the 10g minced garlic and cook for 30 seconds more until fragrant, taking care not to burn the garlic, which will turn bitter.
Build the soup base
Add the drained, soaked great northern beans, 340g (1.5 cups) cubed smoked ham, 1.5L (6 cups) low-sodium chicken broth, 1 whole bay leaf, 1 teaspoon dried thyme, and 1/2 teaspoon freshly ground black pepper to the pot with the sautéed vegetables. Stir all ingredients gently with a wooden spoon to fully combine.
Simmer to develop flavor
Bring the soup mixture to a rolling boil over high heat, then immediately reduce the stovetop heat to low to maintain a gentle, steady simmer (only small bubbles breaking the surface). Partially cover the pot with a lid to trap heat while letting steam escape, and cook for 45 minutes, stirring every 15 minutes to prevent sticking, until beans are completely tender and the broth smells richly smoky from the ham.
Adjust texture and seasoning
Use a metal potato masher to mash roughly 1/4 of the tender beans against the inner side of the pot, which will thicken the broth slightly while leaving most beans whole for a pleasant, chunky texture. Taste the broth carefully, and add up to 1/2 teaspoon of kosher salt only if needed (smoked ham is often quite salty on its own), then fish out and discard the bay leaf.
Serve and garnish hot
Ladle the hot soup evenly into 4 warm serving bowls, top each bowl with 1/2 tablespoon of chopped fresh flat-leaf parsley for a bright, herby contrast, and serve immediately, ideally with slices of crusty sourdough bread for dipping.
Tips
2.For extra deep, smoky flavor, replace half the cubed ham with a meaty smoked ham bone; remove the bone after simmering, shred any attached ham off the bone, and stir the shredded meat back into the soup before serving.
3.Never simmer the soup over high heat after bringing it to a boil: rapid boiling will cause beans to split, turn the broth cloudy, and make the bean texture mushy instead of creamy-tender.

OMG this soup was SO good! I threw this together last weekend after our Easter ham left me with a giant meaty bone I had no plans for, and it was the coziest family dinner ever. My kids went back for seconds—even my super picky 7 year old who normally complains about any bean that touches his plate! It was so easy to follow too, I already had almost all the ingredients in my pantry so no extra grocery run needed. Perfect for the random cold April snap we’ve been getting here in Ohio, 10/10 will be making this on repeat once soup season rolls back around next fall too.
Total game changer for my weekly meal prep! I made a huge batch on Sunday, portioned it out into single-serve containers, and it held up perfectly all week for work lunches. The only small swap I made was adding a little extra minced garlic and a pinch of cayenne for a tiny warm kick, and it was chef’s kiss. I brought the leftover pot to our neighborhood potluck on Wednesday and people were hounding me for the recipe all night! Quick heads up for new cooks: don’t skip or rush the simmer time, it takes the full couple hours to get the beans perfectly tender and get that deep ham flavor all through the broth.
Quick question before I make this this weekend! Can I swap the dried beans for canned navy beans to cut down on cook time? I’m in a tiny college dorm with a janky old stovetop and don’t want to be stuck simmering for 2 hours while my roommate is trying to study, but this looks way better than the instant ramen I’ve been eating for every dinner lately 😂