Soups & Stews
This bean soup recipe with ham bone and tomatoes transforms simple ingredients into a deeply flavorful, hearty simmer that tastes like a hug in a bowl. The secret lies in rendering the ham bone for rich, savory depth while tomatoes add bright acidity—balancing earthy beans into perfect harmony.
I developed this version after years of testing, ensuring every spoonful delivers that restaurant-quality comfort without the fuss.
What sets this soup apart is the ham bone technique: slow simmering extracts maximum flavor, turning the broth into a velvety, umami-rich base that coats every bean. Traditional methods take time, but modern shortcuts like pressure cooking cut preparation to under an hour.
The tomatoes caramelize gently, adding sweet-tart complexity that brightens the rich, meaty essence.
By the time you serve it, you’ll have a savory ham-infused simmer with tender beans, melt-in-your-mouth texture, and a broth so flavorful it disappears with each bite. The aroma alone will have everyone gathering at the table—this is the kind of soup that disappears faster than it’s made.
Perfect for chilly evenings or meal prep, this recipe scales effortlessly and tastes even better the next day. Let’s get cooking—your taste buds will thank you.
Ingredients for bean soup recipe with ham bone and tomatoes
Six hearty ingredients and one secret weapon—the ham bone—create restaurant-quality bean soup that tastes even better the next day.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried White Beans 🌾 | 1 ½ cups | Soaked overnight or quick-soaked |
| Ham Bone 🍖 | 1 whole | Center-cut preferred, ~2 lbs |
| Onion 🧅 | 1 whole | Yellow or red, diced |
| Carrots 🥕 | 3 medium | Peeled, chopped into chunks |
| Celery Stalks 🌿 | 3 whole | Diced, ~2 cups total |
| Garlic Cloves 🧄 | 4 cloves | Minced or finely chopped |
| Canned Crushed Tomatoes 🍅 | 1 28oz can | San Marzano preferred |
| Tomato Paste 🍅 | 2 tbsp | Or 1 small can |
| Bay Leaves 🌿 | 2 whole | Fresh preferred |
| Fresh Thyme 🌿 | 2 sprigs | Or 1 tsp dried |
| Olive Oil 🫒 | ¼ cup | Extra-virgin for richness |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Peppercorns 🌶️ | ½ tsp | Freshly ground |
| Crusty Bread 🍞 | 6 slices | For serving |
The ham bone is non-negotiable here—it's what transforms this into something truly special. Look for a center-cut ham bone (~2 lbs) at your local butcher or the meat counter at Whole Foods. If you can't find one, smoked ham hock works in a pinch, but the flavor won't be quite the same. The beans? Cannellini or navy beans are ideal—they hold their shape beautifully. I always buy dried beans in bulk from Trader Joe's—cheaper and fresher than canned. For the tomatoes, San Marzano cans are worth the splurge—they're sweeter and less acidic, which balances the rich ham flavor perfectly.
No ham bone? Smoked paprika plus a splash of soy sauce can mimic some of that depth, but honestly, nothing beats the real thing. Running low on thyme? Dried oregano at half the amount works, though fresh thyme adds that bright herbal note. The carrots and celery can be swapped for frozen veggie mix if you're in a hurry—just thaw and drain first. For the tomatoes, if you can't find San Marzano, any high-quality crushed tomatoes will do. The key is to let everything caramelize slowly—rushing this step is what makes store-bought versions taste sad. And if you're prepping ahead, make the broth first, then add the beans later—they'll soak up all that flavor.
This soup tastes even better the next day, so make a double batch if you can. The ham bone broth keeps in the fridge for 5 days or freezes for 3 months—just thaw it in the fridge overnight. For serving, toasted crusty bread is a must. I like to make a big batch of this on Sundays so it's ready for quick lunches all week. The beans get even more tender with each reheat, and the flavors meld into something truly magical. Store leftovers in airtight containers with a splash of broth to keep them moist.
Why You'll Love This Recipe
- I’ll be real: this recipe stretches my grocery budget and my patience (in a good way). The ham bone gives you protein-rich broth, the dried beans are cheap but filling, and the veggies make it hearty. Leftovers? They’re my secret weapon for lunch the next three days.
- One-Pot Magic: I swear by this recipe when I’m too tired to wash extra dishes—just toss everything (beans, ham bone, veggies) into one pot and let it simmer. The ham bone practically melts into the broth, so no extra cleanup.
- Rich Without Effort: Here’s what sold me—the ham bone infuses the soup with deep, savory flavor without me having to do anything but crack it open. The tomatoes add brightness, and the dried beans soak up all that goodness until they’re tender and irresistible.
- Weeknight to Potluck: Between us, this soup is my go-to for lazy nights and holiday gatherings. Double the batch, freeze half, and you’ve got a crowd-pleaser that tastes even better the next day—no one will guess it’s just dried beans and a ham bone.
Step-by-step instructions for hearty ham and bean soup
This rich, tomato-infused bean soup builds flavor layer by layer—start with the ham bone and let it work its magic.
Sear the Ham Bone and Sauté Vegetables
Heat the 0.25 cup olive oil in a large Dutch oven over medium-high heat. Place the whole ham bone in the pot, fat-side down, and sear for 8-10 minutes until deeply browned. This step caramelizes the bone, unlocking intense flavor as it simmers.
Remove the ham bone and set it aside. In the same pot, add the whole onion, 3 medium carrots, and 3 whole celery stalks, all chopped into ½-inch pieces. Cook for 8-10 minutes, stirring occasionally, until the vegetables soften and the onion becomes translucent. This foundational step ensures your soup develops deep, savory notes before the beans even enter the picture.
Build the Tomato Base
Reduce the heat to medium and stir in the 2 tbsp tomato paste, coating the vegetables evenly. Cook for 2 minutes to deepen its flavor. Add the 1 28oz can canned crushed tomatoes, 4 cups vegetable broth, 2 whole bay leaves, and 2 sprigs fresh thyme. Bring to a gentle boil, then reduce heat to low and let it simmer for 15 minutes, allowing the tomatoes to meld into a rich, slightly thickened base.
This simmering phase is where the magic happens—the acidity in the tomatoes begins breaking down the vegetables, creating a velvety texture. Skim off any foam that rises to the surface to keep the soup clean and concentrated.
Add the Beans and Season
Return the ham bone to the pot and add the 1.5 cups dried white beans, along with the 1.5 tsp salt and 0.5 tsp black peppercorns. Stir gently to combine. Bring the soup back to a boil, then reduce heat to low and let it simmer uncovered for 1.5 to 2 hours, stirring occasionally. The beans should soften until they're tender but still hold their shape—no mushy texture here.
Check the liquid level periodically and add ½ cup hot water if needed to prevent the soup from drying out. The ham bone will infuse the broth with a delicate, smoky richness, while the tomatoes add a bright, tangy contrast. This long simmer is non-negotiable—it’s what transforms simple ingredients into a deeply satisfying dish.
Finish and Serve
Once the beans are tender, remove the ham bone and discard it. Taste the soup and adjust the seasoning if needed—this is your chance to balance the flavors. The soup should be rich but not salty, tangy but not acidic. Discard the bay leaves and thyme sprigs, then ladle the soup into bowls.
Serve immediately with 6 slices crusty bread on the side for dipping. The bread soaks up the flavorful broth, turning every bite into a complete experience. If you can’t serve it right away, reheat gently on the stove—this soup only gets better with time as the flavors continue to meld.
Pro Tips For Making Bean Soup Recipe With Ham Bone And Tomatoes
- CRACK THE BEANS FIRST: I learned this the hard way—skipping the overnight soak for dried white beans means they’ll turn to mush or stay rock-hard. Cover them in plenty of water (at least 3 inches above the beans) and add 1 tablespoon of baking soda to help soften them faster. By morning, they’ll be ready to go—no extra time wasted simmering.
- ROAST THE HAM BONE: That ham bone isn’t just for flavor—it’s the backbone of your soup. Pat it dry, then roast it at 400°F (200°C) for 20-25 minutes until the edges are crispy and golden. This step deepens the meaty richness and caramelizes the bone for a deeper, smokier taste. (Yes, even if you’re impatient like me.)
- SAUTÉ THE VEGETABLES LOW: High heat burns onions and celery before they release their sweetness. Cook them over medium-low for 8-10 minutes until soft but not browned—this is where the soup’s base flavor lives. If you rush, you’ll end up with bitter, underdeveloped veggies that fight for space in your bowl.
- SIMMER LONG, LOW, AND COVERED: This isn’t a 30-minute meal—give it at least 2 hours of gentle simmering. The beans need time to break down, and the ham bone to surrender its marrow. Keep the pot covered but cracked slightly to let steam escape; this prevents a gummy texture and ensures the soup reduces naturally. (Your future self will thank you.)
Creative variations of this dish
Spanish-Inspired Version
Swap the ham bone for a smoked Spanish chorizo sausage (about 6 ounces) and add 1 tsp smoked paprika to the tomato base. Use 1 cup cannellini beans instead of white beans, and finish with ¼ cup chopped parsley and a squeeze of lemon.
The chorizo adds a smoky depth that pairs perfectly with the tomatoes, while the lemon brightens the richness. 🌶️
Creamy Potato Twist
Add 2 cups diced Yukon Gold potatoes with the carrots and celery, then stir in ½ cup heavy cream or coconut milk at the end for a velvety texture. The potatoes soak up the ham bone broth, creating a heartier, more filling soup.
Top with a sprinkle of fresh chives for a fresh finish. This version feels indulgent but keeps the same rustic charm.
Pressure Cooker Shortcut
For a 30-minute version, sear the ham bone and vegetables as directed, then add everything (including beans) to your Instant Pot with 4 cups broth. Cook on high pressure for 20 minutes, then let the pressure release naturally.
The beans will be tender, and the ham bone flavor will infuse beautifully. This method cuts the simmering time dramatically without sacrificing depth. ⚡
Herb-Forward Variation
Boost the herbs with 1 tbsp fresh rosemary (chopped) and 1 sprig fresh sage along with the thyme. The rosemary adds a piney note, while the sage brings earthy warmth.
Reduce the thyme to 1 sprig to balance the stronger flavors. This version feels more Mediterranean and pairs wonderfully with crusty sourdough bread.
Smoky Chipotle Kick
For heat lovers, stir in 1 tsp adobo sauce from 1 chipotle pepper with the tomato paste. Add ½ tsp ground cumin for depth. The smoky chipotle complements the ham bone beautifully, while the cumin adds a warm, earthy backbone.
Serve with a dollop of Greek yogurt to cool the heat if needed. 🔥
Winter Root Vegetable Boost
Add 1 cup diced parsnips and ½ cup diced sweet potato with the carrots for a seasonal twist. The parsnips add natural sweetness, while the sweet potato brings a creamy texture.
These roots hold up well during the long simmer and add a festive touch to the soup. Perfect for colder months when you crave hearty flavors.
Nutrition facts
Frequently asked questions
Can I substitute canned beans for dried?
Yes, but adjust the cooking time. Use 2 (15oz) cans of white beans (drained and rinsed) instead of dried. Add them with the ham bone and simmer for just 30-45 minutes—they'll absorb the broth's flavor beautifully. For best texture, choose low-sodium beans and rinse thoroughly to avoid excess saltiness.
How do I make this soup vegetarian?
Replace the ham bone with 2 tbsp soy sauce or 1 tsp liquid smoke for depth, plus 1 cup vegetable broth extra. Add 1 tsp smoked paprika to mimic the ham's smokiness. The tomatoes and herbs will still shine, but the umami comes from the soy and mushrooms (add ½ cup sliced mushrooms with the vegetables).
Why does my soup taste bland?
Most likely, the ham bone didn't render enough flavor. Sear it longer (12-15 minutes) next time for deeper browning. Also check your seasoning—add ½ tsp garlic powder or 1 tsp Worcestershire sauce at the end for umami punch. Never skip skimming foam during simmering, as it traps impurities that dull flavor.
Can I use a ham hock instead of a ham bone?
A ham hock works even better because it has more connective tissue that breaks down into gelatin during simmering, creating a richer broth. Just increase simmering time to 2.5-3 hours to extract maximum flavor. For extra richness, add 1 tbsp apple cider vinegar with the tomatoes to help tenderize the hock.
How long will this soup keep in the fridge?
The soup tastes best for 3-4 days in an airtight container. The flavors actually deepen overnight as the beans absorb more broth. For longer storage, freeze portions for up to 3 months. Thaw in the fridge overnight—never microwave directly from frozen. Reheat gently on the stove with a splash of water to restore creaminess.
