White Bean Soup
You know that cozy feeling you get when you walk into a kitchen and smell something warm, earthy, and comforting simmering on the stove? That’s this white bean soup. I’ve been making it for years—especially on rainy Sundays or when I just need a bowl of edible hugs. It’s simple, yes, but there’s something deeply satisfying about the way the creamy beans meld with fragrant herbs and garlic in a rich, velvety broth. I remember first learning this recipe from my nonna’s handwritten notes, stained with olive oil and time. She’d say, “Mangia con il cuore”—eat with your heart—and honestly, that’s exactly what this soup invites you to do. Whether you’re feeding a crowd or just yourself after a long day, this dish feels like home.

What Is White Bean Soup?
White bean soup is a humble yet luxurious dish rooted in Mediterranean and Italian cooking traditions. Made primarily with creamy cannellini or Great Northern beans, it’s simmered slowly with aromatics like onion, garlic, and bay leaves, then finished with a splash of good olive oil and fresh herbs. What makes it special isn’t fancy ingredients—it’s the slow melding of simple flavors into something deeply nourishing. Think of it as the savory cousin of chicken noodle soup: equally comforting, but plant-powered and packed with fiber and protein. This isn’t the thin, watery kind you might find in a can. No, this is thick, silky, and full-bodied—almost like a rustic purée that still holds its texture. It’s the kind of soup that warms you from the inside out, and honestly, once you try a homemade version, you’ll never look back.
Why You’ll Love This Recipe
This white bean soup is everything you want in a weeknight meal—and then some. First, it’s incredibly forgiving. Even if you forget an ingredient or two (I’ve definitely skipped the carrot before), it still turns out delicious. Second, it’s budget-friendly. Dried beans are cheap, and you probably already have most of the other ingredients in your pantry: olive oil, onions, garlic, canned tomatoes, and herbs. Third, it’s nourishing without being heavy. The beans give you sustained energy, and the broth is light enough that you won’t feel sluggish after eating it. Plus, it’s vegan as written, but you can easily stir in some crispy pancetta or top it with grated Parmesan if you’re feeling indulgent. I also love how customizable it is—add kale for greens, swap in rosemary for thyme, or blend half of it for an extra-creamy texture. And let’s be real: there’s something deeply therapeutic about stirring a pot of soup that smells like garlic and herbs while it simmers. It’s comfort in a bowl, and honestly, who doesn’t need more of that?
How to Make White Bean Soup
Quick Overview
This recipe comes together in under an hour, but don’t rush the simmering—that’s where the magic happens. You’ll start by sautéing onions, carrots, and celery in olive oil until soft and fragrant, then add garlic, herbs, and canned tomatoes for depth. Next, you’ll pour in vegetable broth and add your beans (I prefer a mix of canned for creaminess and dried for texture). Let it all simmer gently until the flavors marry beautifully. Finish with a drizzle of olive oil and a sprinkle of fresh parsley or rosemary. Serve it hot with crusty bread, and you’ve got a meal that feels both rustic and refined.
Ingredients
Here’s what you’ll need for about 6 generous servings:
- 2 tablespoons extra-virgin olive oil, plus more for finishing
- 1 medium yellow onion, finely chopped
- 2 medium carrots, diced
- 2 celery stalks, diced
- 4 garlic cloves, minced
- 1 teaspoon dried thyme (or 1 tablespoon fresh)
- 2 bay leaves
- 1 (14.5-ounce) can diced tomatoes
- 4 cups low-sodium vegetable broth
- 2 (15-ounce) cans cannellini beans, drained and rinsed (or 1½ cups cooked dried beans)
- Salt and freshly ground black pepper, to taste
- Fresh parsley or rosemary, chopped, for garnish

Step-by-Step Instructions
Step 1: Preheat & Prep Pan
Grab a large, heavy-bottomed pot—I love using my Dutch oven for this. Heat 2 tablespoons of olive oil over medium heat. You want it warm but not smoking. While it heats, chop your onion, carrots, and celery into small, even pieces. This trio (called soffritto in Italian) is the flavor foundation, so take your time here.
Step 2: Sauté Aromatics
Add the onion, carrots, and celery to the pot. Cook, stirring occasionally, for about 8–10 minutes until softened and starting to caramelize slightly at the edges. Don’t rush this step—it builds sweetness and depth. Stir in the garlic, thyme, and bay leaves, and cook for another minute until fragrant.
Step 3: Build the Soup
Pour in the diced tomatoes (with their juices) and use your spoon to scrape up any browned bits from the bottom of the pot—that’s flavor! Add the vegetable broth and bring to a gentle simmer. Stir in the beans and let everything cook together for 20–25 minutes, stirring occasionally. Taste and season with salt and pepper as needed.
Step 4: Finish & Serve
Remove the bay leaves. For a creamier texture, use an immersion blender to purée about one-third of the soup right in the pot—or leave it completely chunky if you prefer. Ladle into bowls, drizzle with a little more olive oil, and sprinkle with fresh herbs. Serve immediately.
What to Serve It With
This soup shines alongside rustic sourdough or crusty Italian bread for dipping—trust me, you’ll want to soak up every last drop. A simple arugula salad with lemon vinaigrette cuts through the richness beautifully. If you’re serving it as a main course, consider adding a side of roasted vegetables like broccoli or Brussels sprouts. And if you’re feeling festive, a glass of crisp white wine like Pinot Grigio pairs wonderfully. For heartier appetites, top each bowl with a spoonful of pesto or a few shavings of Parmesan (even vegetarians can enjoy a little aged cheese now and then!).
Top Tips for Perfecting Your White Bean Soup
First, don’t skip the step of sautéing the vegetables until soft—this builds layers of flavor. Second, use high-quality canned beans if you’re not soaking dried ones; look for brands with no added salt or preservatives. Third, finish with a generous drizzle of good olive oil right before serving—it adds richness and shine. If your soup thickens too much upon standing, just stir in a splash of broth or water to loosen it. And finally, make extra! This soup tastes even better the next day as the flavors deepen.
Storing and Reheating Tips
Store leftover soup in an airtight container in the fridge for up to 5 days. It will thicken as it cools, so stir in a bit of water or broth when reheating to restore the original consistency. You can also freeze it for up to 3 months—just leave out the fresh herbs and add them when you reheat. To reheat, warm gently on the stove over low heat, stirring occasionally, or microwave in 30-second intervals until hot.
Frequently Asked Questions
Final Thoughts

There’s something profoundly grounding about a bowl of white bean soup. It’s not fancy, but it’s full of soul—the kind of dish that reminds you that the best meals don’t need to be complicated. Whether you’re cooking for one or feeding a family, this soup brings warmth, comfort, and a little bit of love to the table. So next time you’re craving something hearty yet wholesome, give this recipe a try. I promise, it’ll become one of those go-to meals you return to again and again—just like I have.

White Bean Soup
Ingredients
Main Ingredients
- 2 tablespoons olive oil
- 1 medium onion, diced
- 2 carrots, peeled and diced
- 2 stalks celery, diced
- 3 cloves garlic, minced
- 1 teaspoon dried thyme
- 1 teaspoon dried rosemary
- 1 bay leaf
- 6 cups vegetable broth
- 2 cans cannellini beans, drained and rinsed 15-ounce cans
- 1 can diced tomatoes 14.5-ounce can
- 1 teaspoon salt
- 0.5 teaspoon black pepper
- 2 cups fresh spinach, chopped
- 1 tablespoon lemon juice
- Grated Parmesan cheese, for serving optional
Instructions
Preparation Steps
- Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery. Cook, stirring occasionally, until vegetables are softened, about 8 minutes.
- Add garlic, thyme, rosemary, and bay leaf. Cook for 1 minute, until fragrant.
- Pour in vegetable broth and add diced tomatoes with their juices. Bring to a boil, then reduce heat and simmer for 20 minutes.
- Add cannellini beans, salt, and pepper. Simmer for another 10 minutes.
- Stir in chopped spinach and lemon juice. Cook until spinach is wilted, about 2 minutes.
- Remove bay leaf. Serve hot, garnished with grated Parmesan cheese if desired.






