Soups & Stews
This beef and white beans recipe delivers the soul-warming depth of an Italian nonna’s kitchen—rich, tender beef braised with creamy white beans and bright tomato-basil sauce. The secret lies in slow-cooking the beef until fork-tender while building layers of flavor through deglazing and simmering. I’ve perfected this stew over years of testing, ensuring every bite balances hearty protein, earthy beans, and vibrant herbs.
The beauty of this recipe is its foolproof technique: no fancy equipment needed, just a heavy pot and patience. You’ll start with searing beef for deep flavor, then deglaze with red wine (or broth) to create a luscious base. The white beans soften as they simmer, absorbing the savory broth while maintaining their natural creaminess. A splash of tomato paste and fresh basil at the end adds that classic Italian touch.
By the time you serve this stew, you’ll have a dish that’s restaurant-quality at home—perfectly tender beef, velvety beans, and a sauce that’s rich yet bright. The aroma alone will have everyone gathering at the table. Serve it with crusty bread to soak up every last drop or pair it with a simple green salad for balance. This is comfort food at its finest.
What makes this recipe truly special is its versatility. It’s hearty enough for a cold evening but light enough for a summer dinner if you skip the heavy bread. The flavors only deepen the next day, making it ideal for meal prep. Whether you’re feeding a family or treating yourself, this stew delivers satisfaction in every spoonful.
Ingredients for beef and white beans
Pantry staples meet Italian tradition for this rich, comforting beef and white beans stew.
| Ingredient | Amount | Notes |
|---|---|---|
| Chuck Roast 🥩 | 2 lb | Cut into 1.5-inch cubes |
| Canned Cannellini Beans 🌾 | 2 cups | Drained and rinsed (15 oz can) |
| Red Wine 🍷 | 1 cup | Bold dry variety like Cabernet |
| Tomato Paste 🍅 | 2 tbsp | Squeeze tube or canned |
| Garlic Cloves 🧄 | 4 cloves | Minced for depth of flavor |
| Yellow Onion 🧅 | 1 whole | Diced, medium size |
| Carrots 🥕 | 2 medium | Chopped into chunks |
| Fresh Basil Leaves 🌿 | ¼ cup | Chopped, stems removed |
| Beef Broth 💧 | 2 cups | Low-sodium preferred |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For searing beef |
| Dried Thyme 🌿 | 1 tsp | Or 1 tbsp fresh thyme |
| Bay Leaves 🌿 | 2 whole | Removed before serving |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The beef is everything here—chuck roast breaks down beautifully into tender shreds, but sirloin tips work too if you're in a hurry. Grab it pre-cubed from the grocery store's butcher section to save time, or ask for 1.5-inch chunks if buying whole. I always check for good marbling when selecting beef—it's what gives you that rich flavor. For the beans, cannellini are ideal, but great northern or navy beans work just as well. The key is to drain and rinse them well to avoid a watery stew.
No red wine? Beef broth with a splash of balsamic vinegar works perfectly—just add an extra tablespoon of tomato paste to balance. Fresh basil is ideal, but dried oregano at half the amount gets you close if you're short. The tomato paste can be from a squeeze tube (like Trader Joe's) or a can—just make sure it's smooth, not chunky. For the carrots, baby carrots are fine, but regular carrots cut into chunks hold up better during long cooking. The thyme? If you've got fresh, use it—dried is a good backup, but it's less aromatic.
This stew tastes even better the next day as the flavors meld together. Store leftovers in an airtight container in the fridge for up to 5 days, or freeze for 3 months. I like to portion it into containers so I can grab a serving straight from the fridge for lunches. The basil wilts fast, so add it fresh at the end—just before serving. If you're prepping ahead, skip adding the basil until reheating, or it'll turn the stew into a sad, wilted mess.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this—dump everything in one pot, walk away, and come back to rich, fall-apart beef. The chuck roast gets tender without babysitting, and those cannellini beans soak up all the red wine and tomato paste like a dream.
- Rich, Deep Layers: That splash of red wine and caramelized tomato paste? It’s the secret weapon. The garlic cloves sizzle until they’re golden, then melt into the sauce, giving every bite a slow-cooked, restaurant-worthy depth that’s hard to resist.
- Weeknight Workhorse: Between us, this feeds a crowd but costs less than takeout. Toss in some crusty bread for dipping, and suddenly you’ve got a meal that feels fancy but takes zero planning—even when I’m too tired to think past dinner.
- Leftovers That Don’t Suck: Honestly, I make this twice in a row. The flavors only get better after sitting overnight, and it reheats like a champ. Freeze half for those nights when you’d rather open a bottle of wine than cook. (Yes, even on a Tuesday night.)
Step-by-step instructions for hearty Italian-style beef and white beans stew
This rich, tomato-basil stew comes together with simple steps but delivers restaurant-quality depth.
Sear the Chuck Roast for Deep Flavor
Heat the 2 tablespoons extra-virgin olive oil in a large Dutch oven over medium-high heat until shimmering. Pat the 2 lb chuck roast dry with paper towels and cut it into 1.5-inch cubes—this size ensures even cooking. Working in batches to avoid crowding, sear the beef for 3-4 minutes per side until deeply browned and crispy on all sides.
Here's the thing—don't rush this step. You want that caramelized crust, which builds layers of flavor. If the pan gets too crowded, the temperature drops and you'll steam instead of sear. Transfer the browned beef to a plate and set aside temporarily.
Build the Flavor Base with Aromatics
In the same Dutch oven, reduce heat to medium and add the 1 whole yellow onion and 2 medium carrots, both chopped into chunks. Cook for 5-6 minutes until softened and slightly golden. Stir in the 4 cloves minced garlic and cook for 30 seconds until fragrant—this prevents burning.
Add the 2 tablespoons tomato paste and stir vigorously for 1 minute to cook out the raw taste. Pour in the 1 cup red wine and scrape up any browned bits from the bottom of the pot with a wooden spoon. Let it simmer for 3-4 minutes until reduced by half—this concentrates the wine's flavor and forms the stew's foundation.
Simmer the Stew Until Tender
Return the seared beef to the Dutch oven. Stir in the 2 cups drained cannellini beans, 2 cups beef broth, 1 teaspoon dried thyme, 2 whole bay leaves, 1.5 teaspoons salt, and 0.5 teaspoon black pepper. Bring to a gentle boil, then reduce heat to low, cover, and let it simmer for 1 hour 30 minutes—or until the beef is fork-tender and easily pulls apart.
Here's where patience pays off. The longer it simmers, the more the flavors meld together. Check occasionally and add ½ cup water if the stew gets too dry. You want the liquid to be just enough to coat the beef and vegetables, but not so much that it's watery.
Finish with Fresh Basil and Serve
Once the beef is tender, stir in the 0.25 cup chopped fresh basil leaves and simmer uncovered for 5-7 minutes to let the bright basil aroma infuse the stew. Taste and adjust seasoning if needed—sometimes the beans need a bit more salt, or the wine might make it slightly acidic.
Remove the 2 bay leaves before serving. Ladle the stew into bowls and serve immediately with crusty bread or over polenta. The basil adds a fresh contrast to the rich, savory beef and beans, making each bite feel like a warm hug on a chilly day.
Pro Tips For Making Beef And White Beans
- Sear the Chuck Roast Hard: Don’t just brown it—get that meat screaming in a hot pan with 1 tablespoon of oil until all sides are deep brown, not just pink. I used to rush this, and the beef ended up tough. A good crust locks in flavor and keeps it tender when it slows down later.
- Crush Half the Garlic: Mince 3 cloves fine, but leave 2 cloves whole and lightly smashed. The whole cloves infuse flavor without turning the sauce bitter, while the minced garlic delivers that sharp punch. (Yes, even if you’re impatient like me.)
- Deglaze with Wine Twice: After browning the beef, pour in ½ cup red wine and let it bubble hard for 2 minutes. Then add another ½ cup later, when the sauce thickens. Skimping on wine means a thinner, less flavorful sauce—don’t be cheap here.
- Drain and Rinse the Beans: Open the cannellini beans, drain all the liquid, and give them a quick rinse under cold water. The starchy water makes the sauce gummy, and no one wants that. (I know, it’s extra work—but your future self will notice.)
Flavor customization for beef and white beans
Spicy Kick
Add 1-2 teaspoons of crushed red pepper flakes or ½ teaspoon cayenne pepper when searing the beef for a subtle heat that lingers. For more firepower, stir in 1 diced jalapeño with the onions and carrots. I like to balance the heat with a pinch of sugar to mellow the burn—just ½ teaspoon does the trick. 🌶️
Smoky Depth
Swap the red wine for 1 cup beef broth infused with 1 smoked paprika and ½ teaspoon liquid smoke (like Coltman's) for a smoky twist. Alternatively, add 4-5 wood chips (hickory or apple) to your Dutch oven while simmering—just wrap them in foil first. This works especially well if you're using a stovetop smoker or even a cast-iron skillet with a lid.
Herb Variations
Swap the thyme for 1 teaspoon dried rosemary or ½ teaspoon dried oregano for a Mediterranean vibe. For a Tuscan touch, add 1 sprig fresh rosemary when simmering and a handful of chopped parsley at the end. If you love bright flavors, try ½ teaspoon fennel seeds toasted in the oil before adding onions—it adds a subtle licorice note that pairs beautifully with the beans.
Creamy Twist
Stir in ½ cup heavy cream or ½ cup coconut milk during the final 5 minutes of simmering for a velvety texture. For a dairy-free option, use ½ cup unsweetened cashew cream (blend ½ cup soaked cashews with ¼ cup water). This works especially well if you prefer a richer, almost ribollita-style stew. 💛
Citrus Brightness
Finish with a splash of 1 tablespoon lemon juice or orange zest (about 1 teaspoon) to cut through the richness. The acidity balances the stew beautifully, especially if you're using a lot of tomato paste. I also like to garnish with a few thin lemon slices on top for a pop of color and freshness.
Umami Boost
Add 1 tablespoon soy sauce or 1 teaspoon fish sauce when deglazing the pan for an extra layer of umami. For a vegetarian-friendly option, stir in 1 tablespoon miso paste with the tomato paste. This works surprisingly well and adds depth without overpowering the beef and beans. Trust me, it’s a game-changer for flavor complexity. ✨
Nutrition facts
Frequently asked questions
Can I substitute canned white beans for dried?
Yes! Canned beans are the easiest option since they're pre-cooked and ready to use. Just drain and rinse them well to remove excess sodium. If using dried beans, soak them overnight (8+ hours) in plenty of water, then simmer for 1-1.5 hours until tender before adding to the stew. Dried beans add more texture but require more prep time.
What's the best cut of beef for this recipe?
Chuck roast is ideal because it's flavorful and breaks down beautifully into tender shreds during slow cooking. For faster results, use sirloin tips (cut into 1.5-inch cubes) or stew meat. Avoid lean cuts like tenderloin—they'll dry out. Look for well-marbled beef with visible fat for maximum flavor.
How do I make this stew in a slow cooker?
Brown the beef first in a skillet, then transfer everything (including the browned bits) to your slow cooker. Use low heat for 6-7 hours or high heat for 3-4 hours. Add the basil and simmer on high for 10 minutes at the end. The slow cooker version needs less liquid—reduce the broth to 1 cup and add water only if needed.
Why does my stew taste too acidic?
The red wine or tomato paste might be making it too tangy. Balance it by adding ½ teaspoon sugar or 1 tablespoon lemon juice to brighten flavors. For richness, stir in ½ cup heavy cream or an extra ½ cup beef broth. Taste as you go—acidity often mellows during simmering, but don't let it linger too long.
Can I make this recipe in an Instant Pot?
Sear the beef first, then sauté the onions and carrots. Add all ingredients except basil, seal the lid, and cook on high pressure for 25 minutes. Quick-release the pressure, stir in basil, and cook on sauté mode for 5 minutes. The Instant Pot version cooks 60% faster but requires careful monitoring to avoid overcooking the beef.
