Soups & Stews
This bean soup recipe with ham bone and tomatoes transforms humble ingredients into a deeply flavorful, hearty meal that simmers with tomato depth and bone broth richness.
The ham bone infuses the broth with savory, umami notes while keeping the soup light enough for a summer dinner or cozy enough for winter.
I’ve perfected this recipe over years of testing—balancing the saltiness of the ham with the bright acidity of tomatoes creates a harmony that’s impossible to resist.
The secret lies in the slow simmering process, which extracts every last bit of flavor from the ham bone and vegetables.
You’ll start with a simple base of onions, garlic, and carrots, then let the tomatoes and beans meld into a velvety, aromatic broth that tastes even better the next day.
This isn’t just soup—it’s a one-pot wonder that feeds a crowd, warms the soul, and leaves your kitchen smelling like a rustic Italian trattoria.
By the time you’re done, you’ll have a rich, rustic soup with tender beans, caramelized tomatoes, and a broth so deeply flavorful it’ll have everyone asking for seconds. The ham bone doesn’t just add salt—it builds layers of savory depth that turn a simple bean soup into something extraordinary.
Serve it with crusty bread to soak up every last drop, or pair it with a simple green salad for balance.
What makes this recipe foolproof? The ham bone does most of the work—no fancy techniques required. Just simmer, taste, and adjust as you go. The result is a soup that’s comforting yet refined, perfect for weeknight dinners or special occasions. Let’s get cooking—your taste buds will thank you.
Ingredients for bean soup recipe with ham bone and tomatoes
Six ingredients build the base, but the ham bone steals the show with its rich, savory depth.
| Ingredient | Amount | Notes |
|---|---|---|
| Ham Bone 🍖 | 1 lb | Center-cut for maximum flavor |
| Dried White Beans 🌱 | 2 cups | Soaked overnight preferred |
| Onions 🧅 | 1 whole | Yellow or red, chopped |
| Garlic Cloves 🧄 | 4 cloves | Peeled and minced |
| Carrots 🥕 | 3 whole | Medium, peeled and chopped |
| Canned Crushed Tomatoes 🍅 | 2 cups | San Marzano preferred |
| Tomato Paste 🍅 | 2 tbsp | For extra depth |
| Celery Stalks 🥬 | 2 whole | Chopped, for base |
| Bay Leaves 🌿 | 2 whole | Fresh for best flavor |
| Dried Oregano 🍃 | 1 tsp | Italian preferred |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Olive Oil 🫒 | 2 tbsp | Extra-virgin for richness |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
The ham bone is non-negotiable here—look for a center-cut bone at your butcher or grocery store's meat counter. Costco often has them in the freezer section, but any well-marbled bone works. If you can't find one, smoked ham hock is a solid backup. The beans? Dried white beans (like cannellini or great northern) soak up flavor better than canned, but in a pinch, use canned—just drain and rinse well. For the tomatoes, San Marzano cans are worth the splurge—they're sweeter and less acidic, letting the ham bone's flavor shine.
No ham bone? Double the broth and add a tablespoon of soy sauce for umami depth. Short on carrots? Celery root or parsnips work beautifully—they caramelize just like carrots. The dried oregano can be swapped for fresh thyme at double the amount. If you're using canned beans, pat them completely dry before adding to avoid a watery soup. The tomato paste is key—don't skip it. It thickens the broth and adds that concentrated tomato flavor that makes this soup sing.
This soup tastes even better the next day—make a double batch and freeze half. Store in the fridge for up to 5 days or freeze for 3 months. I like to portion it into containers with a splash of olive oil on top to keep everything fresh. The ham bone can be roasted first for 10 minutes at 400°F to deepen its flavor before adding to the pot. Garnish with fresh parsley right before serving—it brightens up the rich, savory broth.
Why You'll Love This Recipe
- Ham Bone Magic: The rich, slow-simmered flavor from that bone? It turns a simple pot of beans into something deeply satisfying—like a hug in a bowl. I swear, the first time I tasted it, I wondered why I hadn’t been making this forever.
- No-Fuss Simmer: Dried beans and a ham bone mean minimal prep—just chop onions, dice carrots, and toss in garlic. Honestly, the hardest part is waiting for the beans to soften, and even that’s worth it.
- Weeknight to Potluck: This soup is my go-to for lazy evenings, but it also impresses at gatherings. Serve it with crusty bread for a casual meal or bring it to a picnic—it’s always a hit, no matter the occasion.
- Budget-Friendly Leftovers: A single ham bone stretches this recipe for days, and the beans get tastier as they sit. I’ll be real: I’ve eaten this soup for breakfast, lunch, and dinner without getting tired of it—proof it’s a kitchen workhorse.
Step-by-step instructions for hearty ham and bean soup
This soup delivers deep, savory flavor from the ham bone and bright acidity from the tomatoes.
Prepare the Ham Bone and Vegetables
Rinse the 1 lb ham bone thoroughly under cold water to remove any surface impurities. Place it in a large stockpot and cover with 8 cups cold water (enough to submerge the bone completely). Bring to a boil over high heat, then reduce to a gentle simmer for 30 minutes to extract initial flavors. Meanwhile, peel and chop the 3 whole carrots into ½-inch pieces, peel and mince the 4 cloves garlic cloves, and finely dice the 1 whole onion and 2 whole celery stalks. Set these aside—they'll form the aromatic base.
I like to use a center-cut ham bone for maximum marrow and flavor. If you're short on time, you can skip the initial simmer and add the bone directly to the soup, but this extra step ensures deeper flavor. The vegetables should be cut uniformly so they cook evenly—no large chunks that stay crunchy.
Build the Soup Base
After the initial 30-minute simmer, remove the ham bone from the pot and set it aside. Strain the liquid through a fine-mesh sieve into a clean pot, discarding any solids. Return the strained liquid to the pot and add the chopped vegetables, 2 cups canned crushed tomatoes, 2 tbsp tomato paste, 2 whole bay leaves, 1 tsp dried oregano, 1.5 tsp salt, and 0.5 tsp black pepper. Stir well to combine, then bring the mixture to a rolling boil over medium-high heat. Once boiling, reduce heat to medium-low and let it simmer uncovered for 20 minutes, stirring occasionally.
This simmering step develops the flavors and softens the vegetables. The tomatoes and tomato paste will thicken slightly, creating a rich base. If the soup reduces too much, add ½ cup hot water to maintain consistency. The bay leaves and oregano infuse subtle earthy notes—don't skip them, even if you're not a fan of strong herbal flavors.
Add the Beans and Simmer
Drain the 2 cups dried white beans and rinse them thoroughly under cold water. Add them to the simmering pot along with the reserved ham bone. Stir gently to combine, then return the heat to medium-low. Let the soup simmer uncovered for 1 hour to 1 hour 15 minutes, or until the beans are tender but not mushy. You'll know they're ready when a bean easily crushes between your fingers with gentle pressure.
Here's the thing—don't rush this step. The beans need time to soak up all the flavorful broth. If you're using pre-soaked beans, reduce the simmering time by 15-20 minutes. The ham bone will continue to infuse the broth, creating a deeply satisfying depth of flavor. Skim off any foam that rises to the surface during the first 15 minutes of simmering to keep the soup clear.
Finish and Adjust Seasoning
Once the beans are tender, remove the ham bone and bay leaves from the pot. Use a slotted spoon to transfer the ham bone to a cutting board and let it cool slightly. Meanwhile, stir in the 2 tbsp olive oil and let the soup simmer for an additional 5 minutes to allow the flavors to meld. Taste the soup and adjust the seasoning with salt and black pepper as needed. The ham bone should be cool enough to handle—use a sharp knife to chop it into ½-inch pieces and return it to the pot.
This final step ensures the soup is perfectly balanced. The olive oil adds richness and helps emulsify the broth, while the chopped ham bone delivers pockets of savory flavor in every bite. If the soup is too thick, add ½ cup hot water to reach your desired consistency. The goal is a soup that coats the back of a spoon but isn't gluey.
Serve with Fresh Parsley
Ladle the soup into bowls and garnish each serving with 0.25 cup chopped fresh parsley. The parsley adds a bright, fresh contrast to the rich, savory flavors of the soup. Serve immediately while the beans are warm and the broth is steaming. Pair with crusty bread to soak up every last drop of that flavorful liquid.
This soup tastes even better the next day as the flavors continue to develop. Store leftovers in an airtight container in the refrigerator for up to 5 days or freeze for up to 3 months. The ham bone and beans make this a deeply satisfying, comforting dish that's perfect for chilly days or cozy gatherings.
Pro Tips For Making Bean Soup Recipe With Ham Bone And Tomatoes
- Parboil Beans First: Soak your dried white beans overnight, then give them a quick 5-minute boil in fresh water before adding to the pot. This softens them faster and cuts down on cooking time—no more waiting 2+ hours for tender beans. (I used to skip this and always ended up with a pot that needed more simmering.)
- Crush the Ham Bone: Smash the ham bone with the flat side of a knife before dropping it in the pot. This exposes more marrow and collagen, giving your soup richer flavor and a deeper color—no need for fancy tools, just elbow grease. (Yes, it’s messy, but it’s worth it.)
- Sweat Onions Low and Slow: Cook your onions in the pot with a splash of water or wine until they’re translucent and slightly caramelized, not browned. Rushed cooking turns them bitter, and that’s the last thing you want in a tomato-based bean soup. (I learned this after burning a batch—now I keep the heat at a steady simmer.)
- Add Tomatoes Late: Stir in your tomatoes (fresh or canned) only in the last 20-30 minutes of cooking. This keeps their brightness and prevents them from turning mushy or losing acidity. (I used to add them early, and the soup always tasted flat.)
Serving suggestions for this bean soup recipe with ham bone and tomatoes
Crusty Bread Pairing
There’s nothing better than serving this hearty bean soup with a warm, crusty loaf of bread to soak up every last drop of that rich, flavorful broth. I love using a baguette-style sourdough or a rustic Italian ciabatta—their open crumb structure traps the soup beautifully.
Tear the bread into chunks and place them on the table so everyone can dip as they go. For extra flair, brush the bread with garlic-infused olive oil before serving and sprinkle with flaky sea salt. 🥖
Bright Green Salad
A crisp green salad balances the soup’s richness perfectly. Toss together mixed greens (like arugula, spinach, and romaine) with sliced radishes, cherry tomatoes, and thinly shaved fennel.
Dress with a light vinaigrette made from 2 tbsp balsamic vinegar, 3 tbsp extra-virgin olive oil, 1 tsp Dijon mustard, and a pinch of honey. The acidity cuts through the soup’s depth while adding a refreshing contrast.
Cheese Board Accompaniment
Turn your serving into a full spread by adding a simple cheese board. I recommend including aged pecorino or Parmigiano-Reggiano for a salty, nutty bite, alongside creamy ricotta and sharp Manchego.
Add a few cured meats, like prosciutto or salami, and some olives or marinated artichokes for extra texture. The cheese board elevates the meal from a simple soup to a full, satisfying experience—perfect for gatherings. 🧀
Wine Pairing Perfection
This soup’s tomato and ham bone flavors pair beautifully with a medium-bodied red wine. I reach for a Chianti Classico or Sangiovese—their bright acidity and earthy notes complement the tomatoes, while their moderate tannins stand up to the ham.
For white wine lovers, a dry Vermentino or Gavi offers crispness without overpowering the dish. Avoid heavy, oaky whites or overly tannic reds—they’ll clash with the soup’s balanced richness. 🍷
Garnish Like a Pro
Elevate your soup’s presentation with a few finishing touches. Sprinkle each bowl with freshly cracked black pepper and a drizzle of high-quality extra-virgin olive oil just before serving. For a pop of color, add thinly sliced red onion or chopped fresh basil.
If you’re feeling fancy, top with crumbled feta or goat cheese for a creamy contrast. These small details make the soup feel restaurant-worthy while keeping it approachable for home cooks. ✨
Nutrition facts
Frequently asked questions
Can I substitute the ham bone with something else?
If you can't find a ham bone, try a smoked ham hock or even 2 cups of high-quality chicken or beef broth plus 1 tbsp soy sauce for umami depth. For extra richness, add ½ cup diced smoked ham during the last 15 minutes of cooking. The bone's marrow is key for that deep, savory flavor, but these alternatives work well in a pinch.
How do I make this soup vegetarian?
Swap the ham bone for 1 lb mushrooms (like cremini or portobello) sautéed in olive oil until golden. Add 2 cups vegetable broth instead of ham broth, and boost umami with 1 tbsp miso paste or 1 tsp smoked paprika. Use tomato paste and crushed tomatoes as-is—they'll still provide that signature depth. The soup will be lighter but just as flavorful!
Can I make this soup in a slow cooker?
Yes! Start by browning the ham bone in a skillet for 5 minutes to deepen its flavor, then transfer it to your slow cooker. Add all ingredients except the olive oil and parsley, then cook on LOW for 6-7 hours or HIGH for 3-4 hours. Stir occasionally and add water if needed. Finish by stirring in the olive oil and adjusting seasoning before serving.
Why does my soup taste too salty?
The ham bone contributes most of the salt, so taste the broth after 30 minutes of simmering and adjust early. If it's too salty, add ½ cup cold water or a few ice cubes to dilute, then simmer for another 10 minutes. For a sweeter balance, stir in 1 tsp sugar or a splash of apple cider vinegar. Never add fresh water directly—it can thin the broth too much.
How can I make this soup spicier?
Add ½ tsp red pepper flakes when sautéing the vegetables, or stir in 1-2 diced chipotle peppers in adobo sauce with the tomatoes. For heat without spice, mash 1-2 garlic cloves into a paste with the onion. Finish each bowl with a sprinkle of hot sauce or fresh chili flakes to taste. The tomatoes already provide acidity, so spice works beautifully here!
