Salads
This Bush's dense bean salad recipe delivers a hearty, protein-packed dish that stands up as a main course or bold side. The secret lies in its texture—crispy fried shallots and toasted nuts contrast perfectly with tender beans and fresh greens, creating layers of flavor and crunch.
I developed this recipe after years of refining plant-based salads that actually satisfy, not just fill space on a plate.
The foundation is a mix of cannellini and kidney beans, simmered with aromatics until tender yet still holding their shape. A tangy vinaigrette ties everything together, while crispy fried shallots add a restaurant-worthy touch.
What makes this salad special is its balance—dense enough to be a meal, but light enough to digest quickly, making it perfect for picnics, potlucks, or weeknight dinners.
By the time you assemble it, you'll have a salad that's vibrant, flavorful, and packed with plant-based protein. The beans stay tender, the greens crisp, and the crispy toppings add just the right amount of texture.
It's the kind of dish that keeps guests reaching for seconds, all while being simple enough to prepare in under 30 minutes.
Serve it as a side with grilled meats or fish, or let it shine as a main course with crusty bread. The crispy fried shallots are the game-changer—don't skip them! Here's how to make it.
Ingredients for bush's dense bean salad
Heartier than most salads, these ingredients pack protein and texture for a meal that stands alone.
| Ingredient | Amount | Notes |
|---|---|---|
| Cannellini Beans 🌱 | 1 ½ cups | Drained and rinsed, canned preferred |
| Kidney Beans 🌱 | 1 ½ cups | Drained and rinsed, canned preferred |
| Yellow Onion 🧅 | 1 whole | Diced small, about 1 cup |
| Shallots 🧅 | 4 cloves | Thinly sliced for frying |
| Garlic Cloves 🧄 | 4 cloves | Minced, for simmering |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For frying shallots |
| Vegetable Broth 💧 | 2 cups | Low-sodium preferred |
| Red Wine Vinegar 🍷 | ¼ cup | For tangy dressing |
| Dijon Mustard 🌶️ | 1 tbsp | For vinaigrette depth |
| Maple Syrup 🍯 | 1 tbsp | For subtle sweetness |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Baby Spinach 🌿 | 4 cups | Fresh, for crisp texture |
| Pecans 🥜 | ½ cup | Toasted, chopped |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
The beans are the backbone—cannellini for creaminess, kidney for earthiness. Trader Joe's or Whole Foods have the best canned options (look for no-salt-added). If using dried, soak overnight—this salad isn't worth the wait otherwise. Shallots? Fresh is non-negotiable—dried won't crisp right. Toast your pecans in a dry pan until golden (about 5 minutes)—that nutty aroma makes everything better. The spinach needs to stay crisp, so don't over-wash it or it'll turn into mush.
No cannellini? White beans or chickpeas work in a pinch (adjust liquid to taste). Skip the pecans? Toasted walnuts or almonds add similar crunch. The vinaigrette can be made ahead—just store dressing separately until ready to toss. For extra tang, add a splash of balsamic glaze when serving. If your shallots burn while frying, lower the heat—they should sizzle gently, not smoke. And yes, you can use shallot powder if you're desperate, but freshly fried is worth it.
Beans keep 5 days in the fridge once cooked—make extra for sandwiches. The dressing lasts 1 week** in a sealed jar. For maximum crunch, fry shallots fresh day-of (they lose crispness fast). Store pecans in an airtight container so they don't go rancid. This salad tastes even better the next day as flavors meld—double batch and thank me later.
Why You'll Love This Recipe
- No-Fuss Assembly: I swear, this comes together in one bowl—no chopping frenzy, no last-minute scrambling. Just toss in the drained cannellinis and kidney beans, dice that onion and shallots once, and let the garlic do its magic. Honestly, I’ve made it while waiting for pasta to boil.
- Umami Bomb: That combo of earthy cannellinis and smoky kidney beans? Chef’s kiss. The caramelized shallots and garlic add this deep, savory punch that makes it taste like you simmered it for hours—not 15 minutes. (Yes, even on a Tuesday night.)
- Potluck Stunner: Bring this to a gathering, and watch it disappear. It’s hearty enough to stand alone but sneaky enough to pair with grilled chicken, crusty bread, or even as a side to steak. Between us, my in-laws think I spent hours on it.
- Budget Meal MVP: Cannellini and kidney beans? Under $2 a can, and they stretch this salad into three meals. I make a double batch on Sundays—one for lunch, one for dinner, and one for when I forget to pack a snack. No waste, all flavor.
Step-by-step instructions for Bush's dense bean salad
Here's how to build this hearty salad with a crispy, golden top that'll impress everyone.
Prepare the Bean Base
Start by combining the 1.5 cups Cannellini Beans and 1.5 cups Kidney Beans in a large mixing bowl. Drain and rinse them thoroughly if using canned beans to remove any excess sodium. I like to press the beans lightly with a fork to break up any large clumps—this helps them absorb the dressing more evenly later on.
Add the 1 whole Yellow Onion that's already diced small and the 4 cloves Garlic Cloves that you've minced. Give everything a good stir with a wooden spoon to distribute the onion and garlic throughout the beans. This step is all about getting those flavors evenly incorporated so each bite has that perfect balance of textures and tastes.
Create the Crispy Topping Mixture
In a small skillet, heat 0.5 cup Extra-Virgin Olive Oil over medium heat. Add the 4 cloves Shallots that are thinly sliced and cook them for 5-6 minutes until they're golden brown and crispy at the edges. You'll know they're ready when they smell fragrant and have a beautiful caramelized color.
While the shallots are cooking, toast the 0.5 cup Pecans in a dry pan over medium heat for about 3-4 minutes, stirring constantly. They're done when they're lightly golden and smell nutty. Let both the shallots and pecans cool slightly before adding them to the bean mixture later.
Simmer the Flavorful Broth Base
In a separate saucepan, combine the 2 cups Vegetable Broth, 0.25 cup Red Wine Vinegar, 1 tbsp Dijon Mustard, and 1 tbsp Maple Syrup. Bring this mixture to a gentle simmer over medium-low heat and let it cook for 5-7 minutes until it's reduced by about one-third. This reduction intensifies the flavors and creates a thicker base for your dressing.
Remove the pan from heat and stir in the 1.5 tsp Salt and 0.5 tsp Black Pepper. Let the mixture cool for about 10 minutes—this is important so you don't scramble the egg whites we'll add next. The dressing should be warm but not hot when you add the egg whites.
Assemble and Chill the Salad
In a separate bowl, whisk together 2 egg whites until they're frothy. Slowly pour the warm dressing into the egg whites while whisking constantly. The mixture will thicken as it cools, creating a creamy base that will hold everything together. Pour this egg-white dressing over the bean mixture in the large bowl and gently fold everything together.
Add the cooled crispy shallots and toasted pecans to the bean mixture and stir until evenly distributed. Finally, fold in the 4 cups Baby Spinach and 1 tbsp Lemon Juice. The spinach should be just wilted but still vibrant. Transfer the salad to a serving dish and refrigerate for at least 4 hours, or preferably overnight, to let all the flavors meld together.
Create the Crispy Topping and Serve
Before serving, spread the salad evenly in a shallow baking dish. In a small bowl, whisk together any remaining dressing from the bottom of the mixing bowl with 1 tablespoon water to make it pourable. Pour this mixture evenly over the top of the salad.
Bake at 375°F for 15-20 minutes until the top is golden brown and crispy. Watch it closely in the last few minutes—you want that perfect balance of crispy on top and creamy underneath. Let it cool for 5 minutes before serving to let the crispy layer set slightly. This salad is perfect for meal prep or bringing to potlucks—it holds up well and tastes even better the next day!
Pro Tips For Making Bush'S Dense Bean Salad
- Drain and Rinse Properly: After cooking, drain the cannellini and kidney beans but give them a quick cold-water rinse—especially if you’re using canned beans. The starch clinging to them turns your salad into a gluey mess, and nobody wants that. Pat them dry afterward with a clean towel if you’re really ambitious (yes, it’s a pain, but the texture is worth it).
- Sauté Shallots Low and Slow: Shallots burn faster than you’d think, and bitter shallots ruin the whole dish. Cook them over medium-low heat until they’re just translucent—no browning, no caramelization, just soft. If you’re impatient like me, keep an eye on them or they’ll turn into flavorless ash.
- Crush Garlic, Don’t Mince: For this salad, smash the garlic cloves with the flat side of your knife instead of mincing them. It releases more flavor without turning the beans into a garlic paste. Plus, it looks better—because presentation matters, even if it’s just for you.
- Let Beans Cool Before Mixing: Hot beans steam when you toss them with dressing, and suddenly you’ve got a sad, watery pile. Let them cool to room temperature first, then mix everything together. Your salad will hold its shape, and the flavors will actually marry instead of fighting each other.
Flavor customization for this dish
Sweet & Tangy Twist
Swap the red wine vinegar for apple cider vinegar and add 1 tbsp honey instead of maple syrup. The apple cider brings a crisp, fruity tang that pairs beautifully with the beans, while the honey adds subtle sweetness.
For extra depth, stir in ½ tsp ground cinnamon after simmering the dressing—it’s a surprising but delicious match that feels autumnal. 🍎
Spicy Kick
For heat lovers, add 1 tbsp hot sauce (like Cholula or Tabasco) to the dressing while simmering, or sprinkle ½ tsp smoked paprika over the crispy shallots before baking.
If you want a smoky depth, swap the pecans for toasted pumpkin seeds and add ¼ tsp cayenne to the bean mixture. Serve with extra hot sauce on the side for those who crave more heat. 🌶️
Mediterranean Vibes
Transform this salad into a Mediterranean-inspired dish by adding ¼ cup chopped Kalamata olives and 2 tbsp crumbled feta cheese to the bean base. Replace the pecans with toasted pine nuts and swap the red wine vinegar for lemon juice in the dressing.
Finish with fresh dill or parsley for a bright, herby touch. This version feels lighter but still hearty. 🌿
Umami Boost
For a deeper, savory flavor, stir 1 tbsp soy sauce or 1 tsp miso paste into the simmered dressing. Add 1 tbsp grated Parmesan cheese to the bean base and top with crispy fried onions (instead of shallots) for a Southern-inspired twist.
The umami from the soy and cheese elevates the dish to restaurant-quality richness. 🧀
Herb-Infused Freshness
Brighten the salad with fresh herbs like cilantro, basil, or mint. Finely chop ¼ cup fresh herbs and fold them into the bean mixture just before serving.
For a citrusy herb blend, mix 1 tbsp lemon zest with the herbs. This keeps the salad vibrant and adds a refreshing contrast to the creamy dressing. 🌱
Cheesy & Crunchy
Add ½ cup shredded sharp cheddar or goat cheese to the bean base for a creamy, tangy element. Top with crispy fried shallots and toasted breadcrumbs** for extra crunch.
For a baked version, sprinkle the cheese on top before baking to create a golden, gooey crust. This makes the salad even more satisfying as a main course. 🧀
Nutrition facts
Frequently asked questions
Can I make this salad without egg whites for the creamy dressing?
Yes! For a vegan version, replace the egg whites with 2 tablespoons aquafaba (chickpea brine) or ¼ cup silken tofu blended until smooth. Whisk these until frothy before combining with the warm dressing. The texture will be slightly lighter but still creamy.
How do I keep the spinach crisp instead of soggy?
Add the spinach last and fold it gently—just until wilted but still vibrant. For extra crunch, pat it dry thoroughly before adding. If prepping ahead, store the beans and dressing separately, then toss with spinach just before serving.
Can I use dried beans instead of canned?
but soak them overnight first! Use 1.5 cups dried cannellini and kidney beans combined, then simmer in 6 cups water with 1 tsp salt for 1.5-2 hours until tender. Drain well before using in the recipe. This adds extra flavor but requires more time.
Why does the crispy top sometimes get too brown or burn?
Watch the oven closely—375°F is key. If your oven runs hot, reduce to 350°F and check at 18 minutes. The top should be golden, not dark brown. For extra insurance, broil for 1-2 minutes at the end to crisp without burning.
How long can I store leftovers?
The salad keeps well for 4-5 days in an airtight container. The crispy top loses crunch after 2 days, but the flavors deepen. For best texture, reheat the crispy layer separately in a dry pan for 1 minute before serving. The base stays creamy and delicious!
