Soups & Stews
This bean and broccoli soup recipe delivers hearty comfort in every steaming bowl, blending tender beans with vibrant broccoli in a savory broth that warms both body and soul.
The beauty lies in its simplicity—just a handful of ingredients simmered together until flavors meld into perfect harmony, creating a soup that’s as nourishing as it is delicious.
What makes this version special is the balance: creamy enough to satisfy, yet still bright with fresh vegetables that keep every bite interesting.
The foundation starts with sautéing onions and garlic until fragrant, then adding canned beans and broth to build rich, deep flavors. Broccoli gets added later to preserve its crisp texture, ensuring each piece stays vibrant and full of nutrients.
A touch of cream or coconut milk (for vegan versions) adds velvety richness without overpowering the natural taste of the vegetables, while herbs like thyme or bay leaf infuse subtle earthy notes that elevate everything.
By the time it’s done simmering, you’ll have a soup that’s naturally hearty—packed with plant-based protein, fiber, and vitamins—while still feeling light enough for any meal.
The aroma alone will draw everyone to the table, and the first spoonful delivers that perfect mix of creamy, savory, and slightly sweet flavors. This is the kind of soup that tastes even better the next day, making it ideal for meal prep or cozy weeknight dinners.
Whether you prefer it smooth or chunky, this recipe adapts effortlessly—simply blend a portion for creaminess or leave it as-is for texture contrast. Garnish with fresh parsley or a drizzle of olive oil for extra brightness, and serve with crusty bread to soak up every last drop.
Here’s how to make it perfectly every time.
Ingredients for bean and broccoli soup
These simple, wholesome ingredients create a soup that's both comforting and nutritious.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onion 🧅 | 1 whole | Diced finely for even cooking |
| Garlic Cloves 🧄 | 3 cloves | Minced for aromatic base |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred for balance |
| Canned White Beans 🫘 | 2 cups | Drained and rinsed thoroughly |
| Fresh Broccoli 🥦 | 3 cups | Florets cut into bite-sized pieces |
| Canned Diced Tomatoes 🍅 | 14 ½ oz | Fire-roasted for deeper flavor |
| Heavy Cream 🥛 | ¼ cup | Full-fat for velvety texture |
| Fresh Thyme 🌿 | 1 tbsp | Leaves only, chopped finely |
| Bay Leaf 🌿 | 1 whole | Remove before serving |
| Salt 🧂 | 1 tsp | Kosher or sea salt preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground for best flavor |
| Olive Oil 🫒 | 2 tbsp | Extra-virgin for richness |
| Fresh Parsley 🌿 | ¼ cup | Chopped for garnish |
The vegetable broth is the heart of this soup—opt for low-sodium to control flavor balance, or make your own from scratch for deeper taste. Whole Foods or Trader Joe's carry excellent low-sodium options, and if you're using canned tomatoes, Muir Glen fire-roasted adds a smoky depth that elevates everything. Fresh thyme is ideal, but dried thyme at one-third the amount works in a pinch. For the beans, Great Northern or cannellini both work beautifully—they hold their shape while adding creamy texture. Broccoli should be bright green and firm; cut florets into even sizes so they cook uniformly.
No heavy cream? Coconut milk or cashew cream delivers similar richness without dairy. Short on fresh herbs? Dried thyme or oregano at half the amount keeps the earthy notes. The olive oil matters here—use extra-virgin for that fruity finish, not the cheap stuff. For extra heartiness, add 1 cup cooked quinoa at the end. The bay leaf adds subtle depth but must be removed before serving—wrap it in cheesecloth if you're worried about losing it in the mix. Salt and pepper should be adjusted to taste at the end, not added early.
This soup tastes even better the next day as flavors meld. Store in an airtight container in the fridge for up to 5 days, or freeze portions for 3 months. For meal prep, double the batch and freeze half—just thaw overnight in the fridge before reheating. Garnish with fresh parsley right before serving to keep it vibrant. The broth reduces slightly when reheated, so add a splash of water if it gets too thick. Perfect for cozy weeknight dinners or potluck gatherings.
Why You'll Love This Recipe
- No-Chop Nightmare: I swear by this recipe when I’m too tired to dice onions properly. Just toss in a roughly chopped yellow onion and let the broth do the work—no one will notice, and you’ll still get that deep, caramelized flavor from the slow simmer.
- Garlic-Broccoli Magic: The moment you add fresh broccoli and minced garlic to the simmering beans and broth? Pure satisfaction. That crisp-tender broccoli with the garlic’s punch makes every spoonful feel like a little celebration, even on a Tuesday.
- Leftovers That Don’t Suck: Between us, most soups turn into sad, watery meals by day three. Not this one. The beans hold their shape, the broth stays rich, and honestly? I’ll eat it for lunch three days in a row without complaint. (Yes, even on a Tuesday.)
- Pantry-to-Table in 20: Honestly, this is my secret weapon for when the fridge is empty but the stomachs aren’t. Canned beans, a few cloves of garlic, and whatever veggies you’ve got—it’s the kind of soup that proves you don’t need fancy ingredients to make something solid. And the best part? It’s ready before the kids even finish their cartoons.
Step-by-step instructions for bean and broccoli soup
This one-pot method delivers rich, comforting flavors with minimal effort.
Sauté Aromatics for Flavor Foundation
Heat the 2 tablespoons olive oil in a large pot over medium heat until shimmering. Add the 1 whole yellow onion, diced finely, and cook for 5-6 minutes until softened and translucent. The onion should release its natural sweetness without browning.
Add the 3 cloves garlic cloves, minced, along with the 1 tablespoon fresh thyme and 1 whole bay leaf. Stir for 30 seconds until fragrant—you'll know it's ready when the kitchen fills with that earthy, herbal aroma. This aromatic base forms the flavor backbone of your soup.
Build the Soup Base with Tomatoes and Beans
Pour in the 14.5 ounces canned diced tomatoes and stir to combine with the aromatics. Let it simmer for 3-4 minutes until the tomatoes break down slightly and release their juices. This step deepens the tomato flavor and creates a rich foundation.
Add the 4 cups vegetable broth, 2 cups canned white beans (drained and rinsed), 1 teaspoon salt, and ½ teaspoon black pepper. Bring to a gentle boil, then reduce heat to medium-low. Let it simmer uncovered for 10 minutes, stirring occasionally, until the flavors meld and the beans begin to soften slightly.
Add Broccoli and Simmer Until Tender
Cut the 3 cups fresh broccoli into bite-sized florets and add them to the pot. Stir gently to distribute the broccoli evenly throughout the soup. Return to a simmer and cook for 8-10 minutes until the broccoli is tender but still retains a slight bite—you want it to be bright green and fork-tender, not mushy.
I like to taste the soup at this stage to check the seasoning. If it needs more salt, add it now. The broth should be flavorful but not overly salty, and the beans should be soft enough to mash slightly between your fingers. This is where the soup starts to come together as a cohesive dish.
Finish with Cream and Garnish
Reduce the heat to low and stir in the ¼ cup heavy cream. Let it simmer gently for 2-3 minutes until the cream is fully incorporated and the soup reaches a velvety consistency. The cream adds richness without overpowering the vegetable flavors.
Remove the bay leaf and discard it. Ladle the soup into bowls and garnish each serving with 1 tablespoon chopped fresh parsley. The parsley adds a fresh, bright finish that cuts through the richness of the cream and beans. Serve immediately while hot for the best experience.
Optional Crusty Bread Pairing
For a complete meal, serve this hearty soup with warm crusty bread. The bread soaks up the flavorful broth while adding a satisfying texture contrast. If you're serving leftovers, let the soup cool to room temperature first, then refrigerate for up to 3 days. Reheat gently on the stove over medium-low heat, stirring occasionally, until warmed through.
This soup is perfect for chilly days or whenever you need a comforting, nourishing meal. The combination of creamy beans, tender broccoli, and rich tomato broth creates a satisfying dish that's both simple and deeply flavorful.
Pro Tips For Making Bean And Broccoli Soup
- Sweat the Onion First: I used to rush this step, but taking 5 minutes to cook the onion over medium heat until it’s soft and translucent—no browning—builds flavor without bitterness. Skip this, and your soup tastes like it’s missing something. (Yes, even if you’re impatient like me.)
- Crush Half the Beans: Leave about half the canned white beans whole for texture, but crush the rest with a fork or potato masher. This creates a creamy base without needing a blender, and the contrast of soft and firm beans makes every spoonful better.
- Add Broccoli Late: Tossing in broccoli at the very end keeps it bright green and crisp-tender instead of turning to mush. If you’re worried about undercooking, cut florets smaller than you think you need—they’ll shrink more than you expect.
- Salt the Broth Early: Season the vegetable broth right at the start, not at the end. The beans and broccoli absorb flavor as they cook, and salting late leaves them tasting bland. Trust me, your soup will thank you—no need to adjust later.
Storing and reheating your leftovers
Refrigerator Storage
Let your soup cool to room temperature for 2 hours max before storing—this prevents condensation buildup that can make it watery. Transfer to an airtight container (I love Glasslock containers for their snug seals) and refrigerate for up to 5 days. The flavors actually deepen overnight as the ingredients meld further.
Freezer Prep Tips
For long-term storage, freeze portions in quart-sized freezer bags (lay them flat to save space). Portion into 2-cup servings for easy reheating. Seal tightly, remove excess air, and label with the date—this soup keeps for 3 months without texture loss. I like adding a ¼ cup extra broth before freezing to prevent drying out. 🥶
Stovetop Reheating
My preferred method: Thaw overnight in the fridge, then reheat on the stove. Transfer to a pot and warm over medium-low heat for 10-12 minutes, stirring occasionally.
If it thickens too much, add 2-3 tablespoons water or broth. The gentle heat preserves the broccoli's texture better than microwaving. 🔥
Microwave Shortcut
For quick meals, microwave in 2-minute intervals on 50% power, stirring between each interval. Cover loosely with a microwave-safe lid to retain moisture. Add 1 tablespoon broth or water if it looks dry.
The cream may separate slightly—just stir vigorously to re-emulsify. This works best for 1-2 day old soup.
Broth Boost Tip
If reheated soup tastes flat, revive it by adding 1 teaspoon lemon juice or a pinch of smoked paprika to brighten flavors. For extra richness, stir in 1 tablespoon cream cheese during reheating. The acidity cuts through any staleness while adding complexity. This trick works wonders on day-old leftovers! ✨
Broccoli Texture Fix
Overheating turns broccoli mushy? No problem. When reheating, add ½ cup fresh broccoli florets in the last 3 minutes of cooking. The fresh pieces will stay crisp while warming through. For extra color, add a handful of frozen peas** too—they'll thaw and add vibrant green pops. 🌱
Nutrition facts
Frequently asked questions
Can I make this soup without cream for a lighter version?
Swap the heavy cream for ¼ cup coconut milk or cashew cream (blend ½ cup soaked cashews with ¼ cup water) for a vegan-friendly, lighter option. For even more creaminess without dairy, try ¼ cup Greek yogurt—it adds tangy richness while keeping it lighter than heavy cream. The soup will still taste velvety, just with a different texture profile.
How do I keep the broccoli bright green and crisp after cooking?
Add the broccoli only in the last 8-10 minutes of simmering, and avoid overcrowding the pot. For extra vibrancy, shock the cooked broccoli in ice water for 1 minute before adding it to the soup. If reheating leftovers, stir in ½ cup fresh broccoli florets during the last 3 minutes of heating—they'll stay crisp while warming through.
What if I don't have fresh thyme? What can I substitute?
Use ½ teaspoon dried thyme instead, or swap it for ½ teaspoon dried oregano or ½ teaspoon Italian seasoning. For a different flavor profile, try 1 teaspoon parsley or ½ teaspoon smoked paprika—both add depth. Just remember dried herbs are more concentrated, so start with half the amount of fresh herbs called for in the recipe.
Can I make this soup in an Instant Pot or pressure cooker?
Yes! Sauté the onions, garlic, and herbs as directed, then add all ingredients except broccoli. Seal the lid and cook on high pressure for 5 minutes. Quick-release the pressure, then stir in the broccoli and cook for 2 more minutes on sauté mode. Finish with cream as usual. The pressure cooker cuts total cooking time to about 15 minutes while keeping all flavors intact.
Why does my soup taste flat after reheating?
Reheated soup often loses vibrancy because flavors settle. Revive it by adding 1 teaspoon lemon juice or ½ teaspoon apple cider vinegar to brighten flavors. For richness, stir in 1 tablespoon cream cheese or 1 teaspoon olive oil during reheating. If the broth tastes thin, reduce it uncovered for 2-3 minutes to concentrate flavors. The acidity helps reset the taste profile while adding complexity.
