High-Protein White Bean Soup
This stovetop soup has a pale, creamy broth with whole cannellini beans, browned mushrooms, and chopped spinach. Blending one can of beans with broth gives the soup body without cream; the other three cans stay whole for texture.
Brown the mushrooms before adding liquid so they develop savory edges instead of steaming in the broth. Finish with lemon and a few drops of olive oil, and serve with za’atar-topped sourdough toast.
Ingredients for High-Protein White Bean Soup

- 4 (15-ounce) cans cannellini beans, drained and rinsed
- 6 cups vegetable broth, divided, plus more as needed
- 2 tablespoons olive oil, plus more for the toast and serving
- 8 ounces cremini or baby bella mushrooms, sliced (225g)
- 1 medium yellow onion, finely chopped
- 3 garlic cloves, minced
- 1 teaspoon dried thyme or 1 tablespoon fresh thyme leaves
- 1 teaspoon Dijon mustard
- 1 teaspoon kosher salt, plus more to taste
- 1/4 teaspoon black pepper, or to taste
- 5 ounces baby spinach, roughly chopped (140g)
- 1 tablespoon lemon juice, or to taste
For the optional za’atar toast: 4 slices sourdough bread, about 1 teaspoon olive oil per slice, and 1 to 2 teaspoons za’atar per slice.
How to Make High-Protein White Bean Soup

- Blend one can of beans: Blend 1 can of the drained beans with 1 cup of broth until mostly smooth, with no large bean pieces. Set aside the puree and the remaining 3 cans of whole beans.
- Brown the mushrooms: Warm a wide 5- to 6-quart soup pot or Dutch oven over medium heat, then add the 2 tablespoons olive oil and the mushrooms. Cook for 6 to 8 minutes, stirring occasionally, until their released moisture has mostly evaporated and some edges are golden brown.
- Soften the aromatics: Add the onion and cook for 4 to 5 minutes, until softened. Stir in the garlic, thyme, and Dijon; cook briefly, just until fragrant. Reduce the heat to medium-low if the garlic starts to brown.
- Simmer the soup: Add the bean puree, the 3 cans of whole beans, the remaining 5 cups broth, salt, and pepper. Bring to a gentle simmer, then reduce the heat to low. Cook uncovered for 10 to 15 minutes, stirring occasionally. Start checking after about 10 minutes: the beans should be hot throughout, with whole beans and mushroom pieces still distinct in the creamy broth. Avoid a rolling boil, which can break down the beans.
- Add the spinach and lemon: Stir in the spinach and cook over low heat for 2 to 3 minutes, just until wilted and still green. Remove the pot from the heat and stir in the lemon juice. Taste for seasoning. Let the soup stand for 2 to 3 minutes, then stir in more broth if it needs loosening.
- Make the toast and serve: While the soup simmers, toast the sourdough until crisp at the edges. Brush each slice lightly with olive oil and sprinkle with za’atar. Ladle the soup into bowls, finish each with a few drops of olive oil, and serve the toast alongside.
How to Adjust the Soup’s Texture
Blending one can of beans thickens the broth while leaving plenty of whole beans in the soup. It also avoids blending a pot of hot liquid. The soup will thicken as it stands and chills; stir in broth a little at a time until it is creamy but easy to spoon.
Ingredient Swaps
Great Northern or navy beans can replace cannellini beans, though their size and texture differ. Chopped kale can replace spinach; add it a little earlier in the final simmer so it has time to soften. The soup is dairy-free as written. If serving it as a vegan meal, check that the broth, bread, and za’atar are vegan.
Storage and Reheating
Cool leftovers promptly and refrigerate in an airtight container for up to 4 days. Reheat gently on the stovetop over low to medium-low heat, stirring often. For individual portions, microwave in short intervals and stir between them. Add broth as needed to loosen the soup.
To freeze, cool the soup completely and store in a freezer-safe airtight container for up to 3 months. Thaw overnight in the refrigerator, then reheat gently with extra broth if needed.
For another creamy vegetable soup, try Creamy Roasted Cauliflower Soup. For a different stovetop bowl, see Apple Cheddar Sweet Potato Soup.
Nutrition
Approximate nutrition per generous serving, based on 4 servings of soup and excluding the toast: 415 calories, 22g protein, 9g fat, and 62g carbohydrates. Per 100g: approximately 55 calories, 3g protein, 1g fat, and 8g carbohydrates. These are estimates; actual values depend on the bean and broth brands, drained bean quantity, and portion size.
Equipment
- Blender
- 5- to 6-quart soup pot or Dutch oven
- Toaster
Ingredients
For the soup
- 4 (15-ounce) cans cannellini beans, drained and rinsed
- 6 cups vegetable broth, divided, plus more as needed
- 2 tablespoons olive oil, plus more for serving
- 8 ounces cremini or baby bella mushrooms, sliced (225g)
- 1 medium yellow onion, finely chopped
- 3 garlic cloves, minced
- 1 teaspoon dried thyme or 1 tablespoon fresh thyme leaves
- 1 teaspoon Dijon mustard
- 1 teaspoon kosher salt, plus more to taste
- 1/4 teaspoon black pepper, or to taste
- 5 ounces baby spinach, roughly chopped (140g)
- 1 tablespoon lemon juice, or to taste
For the optional za’atar toast
- 4 slices sourdough bread
- About 1 teaspoon olive oil per slice
- 1 to 2 teaspoons za’atar per slice
Instructions
- Blend 1 can of drained beans with 1 cup of broth until mostly smooth. Set aside the puree and the remaining 3 cans of whole beans.
- Warm a 5- to 6-quart soup pot or Dutch oven over medium heat. Add 2 tablespoons olive oil and the mushrooms. Cook for 6 to 8 minutes, stirring occasionally, until most of their moisture has evaporated and some edges are golden brown.
- Add the onion and cook for 4 to 5 minutes, until softened.
- Stir in the garlic, thyme, and Dijon mustard. Cook briefly until fragrant, reducing the heat to medium-low if the garlic starts to brown.
- Add the bean puree, whole beans, remaining 5 cups broth, salt, and pepper. Bring to a gentle simmer, then reduce the heat to low.
- Simmer uncovered for 10 to 15 minutes, stirring occasionally, until the beans are hot throughout. Avoid a rolling boil.
- Stir in the spinach and cook over low heat for 2 to 3 minutes, until wilted but still green.
- Remove the pot from the heat and stir in the lemon juice. Taste and adjust the seasoning. Let stand for 2 to 3 minutes, then add more broth if needed.
- While the soup simmers, toast the sourdough until crisp at the edges. Brush each slice lightly with olive oil and sprinkle with za’atar.
- Ladle the soup into bowls, finish with a few drops of olive oil, and serve with the toast alongside.
Tips
- Brown the mushrooms before adding liquid so they develop savory edges.
- Blend only one can of beans to thicken the broth while keeping whole beans for texture.
- Keep the soup at a gentle simmer to prevent the beans from breaking down.
- Add broth a little at a time if the soup thickens as it stands.
Variations
- Great Northern or Navy Bean Soup: Replace the cannellini beans with Great Northern or navy beans.
- White Bean and Kale Soup: Replace the spinach with chopped kale and add it earlier in the final simmer so it has time to soften.



























