Hearty Ham and Bean Soup: Easy Chunky Comfort in a Bowl

Ham and Bean Soup

Ham and Bean Soup

Prep: 15 mins | Cook: 40 mins | Total: 55 mins | Serves: ['4', '4 servings (1.5 cups each)'] | Cuisine: American
There's a myth floating around that a really satisfying soup needs a day of simmering and a laundry list of ingredients. This Ham and Bean Soup quietly proves that wrong. You start with a pot, some oil, and a handful of humble vegetables, and in under an hour you've got something chunky, savory, and deeply comforting on the table. What makes this version so forgiving is the way the vegetables build their own flavor base. When you dice that onion, carrot, and celery into even medium pieces and let them soften in the oil, they release sweetness that carries the whole pot. The minced garlic goes in at the end so it doesn't turn bitter, and a pinch of dried thyme adds an earthy backbone without demanding fresh herbs from your crisper drawer. Then comes the star: a pound of cooked ham, browned right in the pot until the edges catch and deepen. Those crispy bits melt into the broth, and suddenly you're not just making bean soup, you're making Ham and Bean Soup with real depth. Three cans of cannellini beans turn creamy and hearty, no soaking required. Fifteen minutes of prep, forty minutes of mostly hands-off cooking, and dinner is done.

Ham and Bean Soup

Ingredients

  • 1 medium yellow onion, diced (2 cups, $0.95)
  • 3 carrots, diced (2 cups, $0.75)
  • 3 celery stalks, diced (2 cups, $0.61)
  • 2 garlic cloves, minced (1 Tbsp, $0.12)
  • 1 lb. ham, cooked and diced ($5.92*)
  • 1 Tbsp oil for cooking ($0.04)
  • 3 cans (15.5 oz. each) white beans, drained ($2.76**)
  • ¼ tsp dried thyme leaves ($0.02)
  • ¼ tsp black pepper, ground fresh ($0.04)
  • 2 cups low-sodium chicken stock, plus extra if needed ($0.26***)

Instructions

Step 1

Before you turn on any burners, get your mise en place sorted — it makes the rest of the soup come together so much smoother. Grab a medium onion and dice it into small, even pieces so it melts into the broth without leaving chunky bites. Peel two or three carrots and slice them into thin rounds, about a quarter-inch thick; thinner slices cook faster and release more sweetness into the pot. Wash your celery stalks well — grit loves to hide in those grooves — then slice them on a slight diagonal for a little extra surface area. Finally, peel your garlic cloves and mince them finely, or run them through a garlic press if you'd rather skip the knife work. Set everything in small bowls near your stove so you're not scrambling once the ham goes in.

Step 2

Grab your ham and cut it into chunks about the size of your thumb joint — not too small or they'll disappear into the soup, not too big or they'll be awkward to eat. Warm a tablespoon of oil in your largest soup pot over medium heat, then add the ham in a single layer if you can. Let it sit undisturbed for a couple of minutes so it can develop some color, then stir and keep cooking until most of the pieces have golden-brown edges, about 3 to 5 minutes total. Scoop the ham out onto a plate or into a bowl; it'll finish cooking later, and you want those browned bits left behind in the pot for flavor.

Step 3

Grab your onion, carrots, celery, and garlic and get them ready to go — dice the onion, peel and chop the carrots into small coins, trim and slice the celery, and mince the garlic. Once your ham is out of the pot, drizzle a little olive oil into the same pot over medium heat and add all the vegetables at once. Give everything a good stir and let it cook for about 5 minutes, stirring now and then, until the onion pieces turn soft and translucent. As the vegetables release their moisture, you'll notice it loosening those browned, flavorful bits stuck to the bottom of the pot — keep scraping gently with your wooden spoon to pull all that goodness back into the soup.

Step 4

While your vegetables soften in the pot, grab one can of beans and pour the whole thing — liquid and all — into your blender. Purée until completely smooth, about 30 seconds, scraping down the sides once if needed. This creamy mixture is what gives the soup its velvety body without any cream. Set the blended beans aside, then drain the other two cans in a colander and rinse them lightly under cold water; you want them whole for texture, not mushy.

Step 5

Now it's time to bring in the beans. Open all three cans — for the puréed one, just scoop it straight in with a spoon, no need to measure. Drain and rinse the other two in a colander under cold water so you don't get that starchy can liquid in your soup, then add them to the pot along with everything that's already simmering. Sprinkle in ¼ teaspoon dried thyme and ¼ teaspoon black pepper, then grab your wooden spoon and stir well, scraping the bottom of the pot to lift up any bits that have settled. You want everything evenly distributed so every spoonful gets the same savory, herby flavor. Give it a quick taste now — this is your chance to adjust the seasoning before it simmers. If it needs a pinch of salt, add it now, since the ham will bring its own saltiness as it cooks.

Step 6

Pour the 2 cups of chicken broth into the pot all at once, then give everything a good stir to scrape up any browned bits stuck to the bottom — that's pure flavor you want in your soup. Crank the heat to medium-high and let it bubble up uncovered. You'll know it's ready when you see steady bubbles breaking across the surface, about 5 to 7 minutes depending on your stove. Don't walk away yet — once it boils, you'll want to reduce the heat right away so it doesn't boil over.

Step 7

Drop your heat to medium — you want a steady, gentle bubble rather than a rolling boil, which can break down your beans and turn them mushy. Set a timer for 15 minutes and give the pot a stir every few minutes so nothing settles and scorches on the bottom. You'll notice the liquid level dropping and the soup thickening around the edges of the beans; that's exactly what you're after. If it gets too thick for your liking before the 15 minutes are up, splash in a little more chicken broth or water — a quarter cup at a time — until it looks right to you.

Step 8

Once your soup has simmered for 15 minutes and the beans have started to break down into that creamy, thickened base you're looking for, go ahead and stir the reserved cooked ham back in. Let it warm through for another 2 to 3 minutes — you want the ham hot but not overcooked, since it can get tough if it boils too long. Now's the time to taste: the ham brings plenty of salt on its own, so you may find you don't need any extra, though a few cracks of fresh black pepper right before serving really wakes everything up. Ladle into bowls and serve immediately while it's steaming hot.

Nutrition Information

calories: 385 kcal
fat: 13 g
carbohydrate: 39 g
protein: 34 g
fiber: 12 g
servingSize: 1.5 cups

My Tip

**My Tip:** Don't skip browning the ham before removing it — those caramelized bits are what give your soup its deep, savory backbone, and you'll lose that flavor if you dump everything in at once.

Leftovers

This soup actually tastes better the next day as the flavors meld together. Ladle cooled soup into a glass container with a tight lid — glass won't absorb the ham's smoky aroma the way plastic can. It'll keep happily in the fridge for up to 4 days. Reheat gently on the stove over medium-low, stirring often, since beans can scorch on the bottom if you rush it.

Make It Your Own

Swap the ham for smoked tempeh or a smoked mushroom like king oyster, and use vegetable broth—you'll keep that deep, savory umami without the meat, plus the smoky notes still hit the same comfort-food spot.

#chunky ham and bean soup