Side Dishes
This brothy beans recipe transforms simple dried beans into a deeply flavorful, umami-rich dish that’s perfect for hearty meals. The secret lies in slow simmering with aromatics and a well-balanced broth, creating a dish that’s both comforting and restaurant-worthy.
I developed this recipe after years of experimenting with bean-based stews, and it’s now a staple in my rotation for weeknight dinners and meal prep.
The beauty of this recipe is its adaptability—whether you prefer a thick, stew-like consistency or a lighter broth, you can adjust the liquid to your taste. Aromatic vegetables like carrots, celery, and onions form the flavor base, while garlic, bay leaves, and a splash of vinegar deepen the umami.
The beans themselves become tender yet hold their shape, soaking up all the rich, savory goodness of the broth.
By the time you’re done, you’ll have a hearty, flavorful dish that’s packed with plant-based protein and complex flavors. The broth is aromatic and deeply satisfying, while the beans are perfectly tender with just a hint of bite.
This recipe is designed to be your go-to for cozy meals, whether you’re serving it as a side or a main dish with crusty bread or over rice.
One of the best things about this recipe is how versatile it is. You can customize it with smoked paprika for a smoky twist, a splash of red wine for depth, or even a handful of greens at the end for freshness.
The possibilities are endless, and the result is always delicious. Let’s get started on creating this umami-rich simmer that will elevate your meals.
Ingredients for brothy beans
Sixteen simple ingredients for a deeply flavorful, restaurant-style bean dish that's perfect for meal prep.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Cannellini Beans 🌾 | 2 cups | Unsoaked, rinsed thoroughly |
| Yellow Onion 🧅 | 1 whole | Medium, diced finely |
| Carrot 🥕 | 3 whole | Medium, diced small |
| Celery Stalks 🌿 | 3 whole | Trimmed, diced small |
| Garlic Cloves 🧄 | 6 cloves | Peeled, smashed slightly |
| Vegetable Broth 💧 | 6 cups | Low-sodium preferred |
| Tomato Paste 🍅 | ½ cup | Smooth, not chunky |
| Bay Leaves 🌿 | 2 whole | Fresh preferred |
| Red Wine Vinegar 🍷 | 1 tbsp | For brightness |
| Smoked Paprika 🌶️ | 1 tsp | For depth |
| Dried Thyme 🌿 | 1 tsp | Or 1 tbsp fresh |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly cracked |
| Olive Oil 🫒 | 2 tbsp | Extra-virgin preferred |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
The beans are the star, so pick cannellini—they hold their shape beautifully and soak up flavor. I always grab the dried kind from Trader Joe's or the bulk bins at Whole Foods (they're cheaper and fresher). Soaking isn't required, but if you're short on time, cover them overnight in water with a pinch of salt—it cuts cooking time by half. The broth matters too: low-sodium vegetable broth keeps the dish balanced, but you can use chicken or beef broth if you prefer. Just remember to adjust the salt at the end. For the aromatics, don't skimp on the onion, carrot, and celery—they're the flavor base (I call this combo the 'holy trinity').
No smoked paprika? Regular paprika or a pinch of cayenne works in a pinch. Fresh thyme is ideal, but dried works at one-third the amount. Short on vinegar? Lemon juice or apple cider vinegar keeps the brightness. The tomato paste can be swapped for 1 cup crushed tomatoes if you're out, but it'll be less concentrated. For a smoky twist, add 1/4 tsp liquid smoke at the end. And if you're vegetarian, make sure your broth is plant-based—Pacific Foods or Imagine brands are great options. The parsley is just for garnish, but it adds freshness if you've got it.
This dish tastes even better the next day—honestly, the flavors meld more. Store leftovers in the fridge for up to 5 days, or freeze portions for 3 months. I portion mine into containers with a scoop of rice or some crusty bread on the side. The broth thickens as it cools, so add a splash of water when reheating. And if you're making it ahead for a party, keep the beans and broth separate until serving—it keeps everything warmer longer.
Why You'll Love This Recipe
- I’ll be real: dried beans used to stress me out. But these cannellinis? Just toss them in cold water, simmer overnight, and wake up to the richest broth—no fancy prep, no peeling cans.
- Ditch the Soak: I’ll be real: dried beans used to stress me out. But these cannellinis? Just toss them in cold water, simmer overnight, and wake up to the richest broth—no fancy prep, no peeling cans.
- Garlic-Carrot Magic: That crisp-tender carrot and celery combo with the garlic? It’s the secret sauce. The onions caramelize just enough to make the broth taste like it’s been simmering all day, even if you’re rushing.
- Lunchbox Hero: Cold or warm, these beans keep for days. Pack them in jars for work lunches—they’re hearty enough to stand alone, or toss them with greens for a meal that’s basically a hug in a container.
Step-by-step instructions for brothy beans
Here's how to create a deeply flavorful bean simmer that's rich, aromatic, and perfect for hearty meals.
Sauté the Aromatic Vegetables
Heat the 2 tablespoons olive oil in a large Dutch oven or heavy pot over medium heat. Add the diced yellow onion, diced carrot, and diced celery stalks, stirring occasionally for 8-10 minutes until the vegetables soften and begin to release their natural juices. You'll notice the mixture smells sweet and earthy—this is where all the umami magic starts.
Add the 6 smashed garlic cloves and cook for another 1-2 minutes until fragrant but not browned. The garlic should perfume the entire kitchen, signaling it's ready to release its flavor into the dish. Here's the thing—don't let it burn. If the pan starts to smell bitter, reduce the heat slightly and give it a few more seconds to mellow out.
Build the Flavor Base
Stir in the ½ cup tomato paste, 1 teaspoon smoked paprika, 1 teaspoon dried thyme, 1½ teaspoons salt, and ½ teaspoon black pepper. Cook for 2-3 minutes, stirring constantly, until the tomato paste darkens slightly and the spices bloom. This step develops the deep, complex flavors that will carry through the entire dish.
Pour in the 6 cups vegetable broth and bring the mixture to a gentle boil. Add the 2 whole bay leaves and 1 tablespoon red wine vinegar. The vinegar adds a bright acidity that balances the richness of the beans and broth. Let it simmer for 5 minutes to allow all the flavors to meld together before adding the beans.
Simmer the Beans to Perfection
Add the 2 cups dried cannellini beans (rinsed thoroughly) to the pot. Stir gently to distribute them evenly. The beans should be completely submerged in the liquid—if not, add a little water. Bring the mixture back to a simmer and reduce the heat to low. Cover the pot and let the beans cook for 1 hour to 1 hour 15 minutes, checking occasionally to ensure there's enough liquid.
Here's where patience pays off: the beans should be tender but not mushy, with a creamy texture and just a hint of bite. You'll know they're ready when they're easy to crush between your fingers but still hold their shape. If the liquid reduces too much, add a little water or broth to maintain the right consistency. The beans should be swimming in a rich, flavorful broth.
Finish and Serve
Once the beans are tender, remove the pot from the heat and discard the bay leaves. Stir in the ¼ cup chopped fresh parsley, which adds a fresh, bright finish to the dish. Taste and adjust the seasoning if needed—you might want to add a pinch more salt or a splash of vinegar to balance the flavors.
Let the beans sit off the heat for 5 minutes to allow the flavors to settle. Serve warm, either as a standalone dish or alongside crusty bread, grilled vegetables, or over rice. The result is a hearty, umami-rich bean simmer that's deeply satisfying and packed with flavor. This dish tastes even better the next day as the flavors continue to develop!
Pro Tips For Making Brothy Beans
- SOAK BEANS OVERNIGHT: I learned this the hard way—rushing the soak with hot water just makes the beans tougher. Use cold water and let them sit 8+ hours (or at least 2 hours if you’re in a hurry). Add a pinch of baking soda to the water to soften them faster—it’s a game-changer for cannellini beans.
- SWEEP THE POT: After draining the beans, don’t just dump them in. Use a wooden spoon to scrape up any stuck-on bits from the bottom of the pot—those crispy bits add depth to the broth. A quick wipe with a damp cloth keeps the flavor from burning later.
- CHAR THE VEGETABLES: Don’t just dice the onion, carrot, and celery—get them golden brown first. High heat for 5-7 minutes until the edges darken. This caramelization builds flavor that simmers into the broth, making the difference between bland and rich.
- SALT THE BEANS TWICE: Add a generous pinch of salt to the soaking water (if not using baking soda), then salt the pot again when cooking. Cannellini beans absorb flavor like sponges—skipping this step leaves them tasting flat, even if the broth is seasoned.
Dietary considerations for this brothy beans
Gluten-Free Adaptations
This recipe is naturally gluten-free, but always double-check your ingredients—especially broths and spices. I use Pacific Foods gluten-free vegetable broth to ensure no cross-contamination. The smoked paprika and thyme I buy from Penzeys Spices are certified gluten-free, but brands vary.
If you're using store-bought tomato paste, verify the label for gluten additives. The red wine vinegar and olive oil are also safe, but always read labels if you have severe gluten sensitivity. 🌾
Vegetarian & Vegan Options
This dish is already vegetarian, but for vegan cooking, ensure your broth is plant-based. I recommend Imagine Foods Vegetable Broth for a rich, umami-packed flavor. The tomato paste and vinegar are typically vegan, but check for animal-derived additives.
For extra depth, add 1 teaspoon soy sauce or tamari when building the flavor base—it enhances the savory notes beautifully. The smoked paprika and thyme are vegan-friendly, so no adjustments are needed there. 🌱
Low-Sodium Adjustments
If you're watching your sodium intake, skip adding salt until the very end. Use low-sodium vegetable broth (like Low Sodium Kitchen brand) and reduce the salt to just ½ teaspoon initially. Taste the beans before serving and adjust with additional salt or a splash of lemon juice for brightness.
The beans will still be flavorful—the broth and spices carry most of the taste. 🧂
Protein Boosting
For extra protein, stir in ½ cup cooked quinoa or ½ cup cooked lentils during the final 10 minutes of simmering. Both add heartiness and nutrients without altering the texture.
If you prefer meat, crumble ½ pound cooked chorizo into the pot during the last 5 minutes—it infuses the broth with smoky, spicy flavor. For a lighter option, top with poached eggs just before serving. 💪
Allergen-Friendly Swaps
For nut allergies, this recipe is already safe, but if you're avoiding other common allergens, here’s what to watch: The tomato paste might contain onion powder (check labels), and some vinegars are processed in facilities with nuts. For soy-free cooking, skip the soy sauce and use coconut aminos instead.
If you're sensitive to nightshades (tomatoes), replace the tomato paste with ½ cup finely chopped mushrooms sautéed with the aromatics. Always verify ingredient sources for cross-contamination risks. 🚫
Nutrition facts
Frequently asked questions
Can I use canned beans instead of dried for this recipe?
Yes, but with adjustments! Use 2 (15 oz) cans of cannellini beans, drained and rinsed, and reduce the simmering time to just 15-20 minutes after adding the beans. The texture will be slightly softer, but still delicious. For extra richness, add 1/2 cup reserved bean liquid to the pot when simmering.
How do I make this dish thicker or thinner?
For a thicker consistency, simmer uncovered for 10-15 extra minutes to reduce the broth. For a lighter version, add 1/2 to 1 cup more broth or water while simmering. The beans should still be tender but swimming in flavorful liquid.
What if my beans aren't tender after simmering?
Check your beans for doneness by tasting one—it should be soft but not mushy. If still firm, add 1/2 cup more broth and simmer 15-20 more minutes. Avoid overcooking, which makes beans mealy. For faster results, use younger beans or soak them overnight first.
Can I make this recipe in a slow cooker?
Sauté the aromatics and tomato paste in a skillet first, then transfer everything to the slow cooker. Cook on low for 6-7 hours or high for 3-4 hours. The slow cooker enhances the broth's depth, making it even more flavorful. Just check liquid levels occasionally.
What's the best way to store leftovers?
Store in an airtight container in the fridge for up to 5 days or freeze for 3 months. Reheat gently on the stove with a splash of water or broth. The flavors actually improve overnight, so it's perfect for meal prep!
