Pin It My neighbor Marco showed up at my door one January evening with a bag of fresh vegetables and a jar of his homemade tomato paste, insisting I make this stew with him. He'd grown up eating it every winter in his family's kitchen outside Rome, and watching him dice those carrots with such practiced precision made me realize this wasn't just a recipe—it was a bridge between us and someone else's childhood. Now whenever the temperature drops and that first real cold snap hits, I find myself craving the exact smell that filled my kitchen that night: garlic and thyme dancing over simmering broth.
I made this for my book club last February when everyone was tired of takeout, and something shifted in the room when people took that first spoonful. Three people asked for the recipe before dessert arrived, which never happens. One friend said it reminded her of her Italian grandmother's kitchen, even though she'd never had it before—that's when I understood this stew carries something bigger than ingredients.
What's for Dinner Tonight? 🤔
Stop stressing. Get 10 fast recipes that actually work on busy nights.
Free. No spam. Just easy meals.
Ingredients
- Cooked ham, 400 g diced: Use a quality ham with actual flavor here; this isn't the place to cut corners since the ham is your main protein and seasons the entire pot as it simmers.
- Cannellini beans, 2 cans drained and rinsed: Rinsing removes the starchy liquid and prevents a gluey texture, trust me on this one.
- Carrots and celery, diced: Cut them roughly the same size so they cook evenly; your knife work doesn't need to be fancy, just consistent.
- Onion, 1 large finely chopped: Finely chopped onions dissolve into the broth and sweeten it naturally without staying chunky and aggressive.
- Garlic, 3 cloves minced: Fresh garlic makes all the difference—jarred garlic tastes tinny by comparison in a slow broth like this.
- Canned diced tomatoes, 400 g: San Marzano tomatoes are worth seeking out if you can; they have a brightness that cheaper brands lose.
- Tomato paste, 2 tbsp: This small amount deepens the flavor without making it aggressively tomatoey.
- Chicken or vegetable broth, 1 L low-sodium: Low-sodium lets you taste the actual ingredients and season to your preference; store-bought is fine.
- Bay leaf, dried oregano, dried thyme: These three create that Italian herbaceous base that feels like home even if you've never been to Italy.
- Olive oil, 2 tbsp: Use something you'd actually taste, not your cheapest bottle; it adds a subtle richness to the base.
- Spinach or kale, 2 handfuls optional: Adding greens in the last minutes keeps them from turning dark and bitter, and adds a fresh note to the earthiness.
Tired of Takeout? 🥡
Get 10 meals you can make faster than delivery arrives. Seriously.
One email. No spam. Unsubscribe anytime.
Instructions
- Build your flavor base:
- Heat olive oil in your Dutch oven over medium heat and let it shimmer slightly before adding onions, carrots, and celery. Let them soften for about 8 minutes, stirring occasionally; you're not looking for color, just for them to turn tender and release their sweetness. The kitchen should smell like a vegetable market at this point.
- Wake up the aromatics:
- Stir in minced garlic, tomato paste, oregano, and thyme and cook for just about 1 minute. You'll notice the smell change almost immediately—that's the dried herbs blooming in the heat. Don't skip this step or your herbs will taste dusty and flat.
- Introduce the ham:
- Add your diced ham and let it cook for 2 to 3 minutes, stirring now and then. The edges might brown slightly, which is beautiful; you're not browning it aggressively, just warming it through and letting it release its saltiness into the oil.
- Bring it together:
- Pour in the canned tomatoes and broth, add the bay leaf, and bring the whole pot to a boil. This should take a few minutes; you'll see the surface ripple and steam start rising. Once it's boiling, reduce the heat to low—this next phase is all about patience.
- Let the beans work their magic:
- Add your drained cannellini beans and a pinch of salt, then partially cover the pot and let it simmer for about 50 minutes. Stir every 15 minutes or so to make sure nothing sticks to the bottom and to check the flavor; this is when you taste and adjust. The beans should be incredibly tender and the broth should taste like it actually knows what it's doing.
- Finish with brightness:
- In the last 5 minutes, add your spinach or kale if you're using it. Season generously with salt, fresh black pepper, and red pepper flakes if you like heat. The greens will wilt almost immediately and add a fresh, mineral note that balances all the richness.
- Serve with ceremony:
- Remove that bay leaf, ladle the stew into deep bowls, and scatter fresh parsley and maybe some Parmesan over the top. The parsley should be bright green and practically alive.
Pin It My daughter asked me one afternoon why this stew was different from the others I make, and I realized it's because the beans actually become part of the broth rather than floating in it—they dissolve just enough to make everything creamy and thick without needing any cream. That simplicity, the way Italian food works, is what kept me coming back to this recipe again and again.
Still Scrolling? You'll Love This 👇
Our best 20-minute dinners in one free pack — tried and tested by thousands.
Trusted by 10,000+ home cooks.
The Comfort of Slow Cooking
There's something profoundly settling about lowering the heat and letting a pot do its work. The 50-minute simmer isn't a chore; it's permission to sit, to read, to let your house fill with one of those smells that makes people walk in and immediately feel welcomed. Winter cooking doesn't have to be complicated—sometimes it just needs time and the right ingredients.
Ham as a Seasoning Agent
Don't think of the ham as just protein sitting in the stew. As it simmers, it seasons the entire pot with a gentle saltiness and smokiness that no amount of salt alone could replicate. I learned this the hard way when I once tried to make a version with bacon bits thinking I could skip the actual ham—it was hollow and one-dimensional. The ham is the difference between a good bean stew and one that feels alive.
Making It Your Own
The beauty of this recipe is that it welcomes changes without falling apart. I've made it with smoked turkey when ham felt too heavy, with escarole instead of spinach when that's what I had, even added a small splash of red wine once when someone opened a bottle nearby. Each time it tastes like itself but also like the moment I made it.
- Try adding white beans and cannellini beans together for more textural variation and a creamier final result.
- A pinch of fennel seeds stirred in with the oregano adds an Italian sausage-like depth even though there's no meat beyond the ham.
- Serve over polenta or soft rice if you want something more substantial, though crusty bread is honestly perfect.
Pin It This stew is the kind of cooking that reminds you why people gather around tables in the first place. It's honest food that takes care of you.
Questions About This Recipe
- → Can I substitute the ham with another protein?
Yes, smoked turkey or pancetta can provide a similar savory depth while maintaining the stew’s rich flavor.
- → What can I use if I don’t have cannellini beans?
Great alternatives include navy beans, great northern beans, or butter beans for a creamy texture.
- → How long should the stew simmer for best results?
Simmering for about 50 minutes allows the flavors to meld and the beans to soften while keeping the ham tender.
- → Can I prepare the stew ahead of time?
Absolutely, the flavors often improve after resting overnight. Reheat gently on the stove before serving.
- → What side dishes complement this stew?
Crusty bread or a fresh green salad pairs well, enhancing the stew’s hearty, savory qualities.