Finding a cozy, comforting soup that’s both healthy and satisfying can feel impossible, especially when you want something that doesn’t require hours of standing over the stove. Between work, family dinners, and everything else on your plate, complicated recipes just aren’t realistic most nights, and let’s be honest—canned soup gets old fast.
That’s exactly why this Mediterranean white bean soup has become one of my favorite weeknight meals: it comes together in under an hour, uses mostly pantry staples you probably already have, and delivers the kind of warmth and flavor that makes everyone ask for seconds.

Why You’ll Love This Mediterranean White Bean Soup
- Quick and easy – This soup comes together in just 30-40 minutes, making it perfect for busy weeknights when you need something warm and satisfying fast.
- Pantry-friendly ingredients – Most of what you need is probably already in your pantry—canned beans, tomatoes, and broth do most of the heavy lifting here.
- Healthy and filling – Packed with protein from the white beans and nutrients from the spinach, this soup keeps you full without feeling heavy.
- Budget-friendly – Using affordable canned beans and simple vegetables, you can make a big pot of soup that feeds a crowd without breaking the bank.
- Naturally vegetarian – Just use vegetable broth and skip the Parmesan rind, and you’ve got a completely plant-based meal that everyone can enjoy.
What Kind of White Beans Should I Use?
You’ve got a few good options when it comes to white beans for this soup. Cannellini beans are probably the most common choice – they’re creamy and hold their shape well during cooking. Great Northern beans are another solid pick, and they’re a bit smaller and slightly firmer than cannellini. Navy beans will also work just fine, though they tend to break down more easily, which can actually make your soup a bit thicker and creamier. Whether you use canned or dried beans is totally up to you, but canned beans make this recipe super quick since they’re already cooked – just be sure to drain and rinse them first to get rid of excess sodium.

Options for Substitutions
This soup is really forgiving and works well with a few simple swaps:
- White beans: Cannellini beans are the go-to here, but great northern beans or navy beans work just as well. You can also use dried beans – just soak 1 cup of dried beans overnight and cook them before adding to the soup.
- Baby spinach: Kale, Swiss chard, or escarole make great substitutes. If using kale or chard, remove the tough stems and add them a few minutes earlier since they take longer to wilt than spinach.
- Fresh rosemary: Don’t have fresh? Use 1 teaspoon of dried rosemary instead. You can also try fresh thyme or a bay leaf for a different herby flavor.
- Diced tomatoes: Fire-roasted tomatoes add a nice smoky touch, or you can use crushed tomatoes for a thicker soup base. In a pinch, tomato paste (about 3 tablespoons) mixed with a bit of water works too.
- Parmesan rind: This adds great depth, but if you don’t have one, stir in 2-3 tablespoons of grated Parmesan at the end instead.
- Vegetable or chicken broth: Either broth works fine – use whatever you have on hand. The flavor will be slightly different, but both make a tasty soup.
Watch Out for These Mistakes While Cooking
The biggest mistake with this soup is adding the spinach too early, which turns it into a dull, olive-colored mush instead of keeping its fresh green color – wait until the very end and stir it in just until wilted.
Another common error is skipping the step of sautéing the onions long enough, so make sure they’re soft and translucent before adding the garlic, which gives the soup a much deeper flavor base.
Don’t forget to remove the rosemary sprigs and Parmesan rind before serving, as biting into a woody stem or hard cheese rind isn’t pleasant for anyone.
If you want a creamier texture, try mashing about half a cup of the beans against the side of the pot with a wooden spoon during the simmering stage, which naturally thickens the broth without adding any cream.

What to Serve With White Bean Soup?
This soup is hearty enough to be a meal on its own, but I love serving it with some crusty bread for dipping – a warm baguette or ciabatta works perfectly. If you want to make it more filling, add some cooked Italian sausage or shredded rotisserie chicken right into the pot. A simple arugula salad with lemon vinaigrette on the side cuts through the richness of the soup nicely, or you could go with a classic Caesar salad. For an easy weeknight dinner, I sometimes serve this with a simple caprese salad or just some sliced fresh mozzarella drizzled with olive oil.
Storage Instructions
Store: This soup actually gets better after a day or two in the fridge! Keep it in an airtight container for up to 5 days. The flavors really meld together nicely, making it perfect for meal prep or leftovers throughout the week.
Freeze: You can freeze this soup for up to 3 months in freezer-safe containers or bags. Just leave a little room at the top since it’ll expand when frozen. The spinach might look a bit darker after freezing, but the taste is still great.
Reheat: Warm it up on the stovetop over medium heat, stirring occasionally until heated through. You can also microwave individual portions for 2-3 minutes. If it seems too thick after storing, just add a splash of broth or water to thin it out to your liking.
| Preparation Time | 10-15 minutes |
| Cooking Time | 20-25 minutes |
| Total Time | 30-40 minutes |
| Level of Difficulty | Easy |
| Servings | 4 servings |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 900-1100
- Protein: 45-55 g
- Fat: 25-35 g
- Carbohydrates: 120-140 g
Ingredients
For the soup base:
- 3 tbsp extra virgin olive oil
- 1 yellow onion (diced into 1/2-inch pieces)
- 6 garlic cloves (freshly minced)
- 1/2 tsp dried oregano
- 1/4 tsp red pepper flakes
- 4 cups low-sodium vegetable broth
- 14.5 oz canned diced tomatoes
- 30 oz canned white beans (cannellini or Great Northern)
- 2 sprigs fresh rosemary
- 1 1/4 tsp kosher salt
- 1/2 tsp freshly cracked black pepper
- 1 Parmesan rind
For the finish:
- 5 oz baby spinach
- 1 tbsp fresh lemon juice
- 1/4 cup freshly grated Parmesan cheese
Step 1: Prepare Ingredients and Build the Flavor Base
- 30 oz canned white beans
- 1 yellow onion, diced
- 6 garlic cloves, minced
- 3 tbsp extra virgin olive oil
Drain and rinse the canned beans thoroughly under cold water to remove excess sodium.
Dice the yellow onion into 1/2-inch pieces and mince the garlic cloves.
Have all ingredients prepped and within arm’s reach before you begin cooking, as the aromatics cook quickly.
Heat the extra virgin olive oil in a large pot over medium heat until it shimmers, then add the diced onion.
Cook for 3-5 minutes, stirring occasionally, until the onion becomes soft and translucent—this develops a sweet, mellow flavor base for the entire soup.
Step 2: Bloom the Aromatics and Spices
- 6 garlic cloves, minced
- 1/4 tsp red pepper flakes
- 1/2 tsp dried oregano
Add the minced garlic and red pepper flakes to the softened onion and stir constantly for about 1 minute.
This brief cooking time allows the garlic to become fragrant without burning, and the heat awakens the spice in the red pepper flakes, infusing the oil with deep, complex flavors.
I find this step crucial—don’t skip it or let the garlic cook too long, or it will taste bitter instead of sweet.
Step 3: Build the Soup Base and Simmer
- 4 cups low-sodium vegetable broth
- 14.5 oz canned diced tomatoes
- drained and rinsed beans from Step 1
- 2 sprigs fresh rosemary
- 1 Parmesan rind
- 1 1/4 tsp kosher salt
- 1/2 tsp freshly cracked black pepper
Pour in the vegetable broth and add the canned diced tomatoes (with their juices), the drained and rinsed beans from Step 1, fresh rosemary sprigs, Parmesan rind, kosher salt, and cracked black pepper.
Stir everything together, then bring the soup to a boil over medium-high heat.
Once boiling, reduce the heat to low and simmer gently for 10 minutes.
The Parmesan rind melts slightly and adds a subtle umami depth to the broth—I always use it instead of discarding it, and you’ll taste the difference.
Step 4: Finish with Spinach and Brightness
- soup from Step 3
- 5 oz baby spinach
- 1 tbsp fresh lemon juice
Remove the pot from heat and discard the rosemary sprigs and Parmesan rind.
Stir in the baby spinach and let it wilt for 1-2 minutes, which should happen naturally from the residual heat of the soup.
Finally, squeeze in the fresh lemon juice and taste the soup for seasoning, adjusting salt and pepper as needed.
The lemon juice adds a bright, fresh finish that balances the earthiness of the beans and the richness of the Parmesan.
Step 5: Serve and Garnish
- 1/4 cup freshly grated Parmesan cheese
Ladle the hot soup into bowls and top each serving with a generous sprinkle of freshly grated Parmesan cheese.
Drizzle with a little extra virgin olive oil if desired for extra richness.

Easy Mediterranean White Bean Soup
Ingredients
For the soup base
- 3 tbsp extra virgin olive oil
- 1 yellow onion (diced into 1/2-inch pieces)
- 6 garlic cloves (freshly minced)
- 1/2 tsp dried oregano
- 1/4 tsp red pepper flakes
- 4 cups low-sodium vegetable broth
- 14.5 oz canned diced tomatoes
- 30 oz canned white beans (cannellini or Great Northern)
- 2 sprigs fresh rosemary
- 1 1/4 tsp kosher salt
- 1/2 tsp freshly cracked black pepper
- 1 Parmesan rind
For the finish
- 5 oz baby spinach
- 1 tbsp fresh lemon juice
- 1/4 cup freshly grated Parmesan cheese
Instructions
- Drain and rinse the canned beans thoroughly under cold water to remove excess sodium. Dice the yellow onion into 1/2-inch pieces and mince the garlic cloves. Have all ingredients prepped and within arm's reach before you begin cooking, as the aromatics cook quickly. Heat the extra virgin olive oil in a large pot over medium heat until it shimmers, then add the diced onion. Cook for 3-5 minutes, stirring occasionally, until the onion becomes soft and translucent—this develops a sweet, mellow flavor base for the entire soup.
- Add the minced garlic and red pepper flakes to the softened onion and stir constantly for about 1 minute. This brief cooking time allows the garlic to become fragrant without burning, and the heat awakens the spice in the red pepper flakes, infusing the oil with deep, complex flavors. I find this step crucial—don't skip it or let the garlic cook too long, or it will taste bitter instead of sweet.
- Pour in the vegetable broth and add the canned diced tomatoes (with their juices), the drained and rinsed beans from Step 1, fresh rosemary sprigs, Parmesan rind, kosher salt, and cracked black pepper. Stir everything together, then bring the soup to a boil over medium-high heat. Once boiling, reduce the heat to low and simmer gently for 10 minutes. The Parmesan rind melts slightly and adds a subtle umami depth to the broth—I always use it instead of discarding it, and you'll taste the difference.
- Remove the pot from heat and discard the rosemary sprigs and Parmesan rind. Stir in the baby spinach and let it wilt for 1-2 minutes, which should happen naturally from the residual heat of the soup. Finally, squeeze in the fresh lemon juice and taste the soup for seasoning, adjusting salt and pepper as needed. The lemon juice adds a bright, fresh finish that balances the earthiness of the beans and the richness of the Parmesan.
- Ladle the hot soup into bowls and top each serving with a generous sprinkle of freshly grated Parmesan cheese. Drizzle with a little extra virgin olive oil if desired for extra richness.