White Bean Soup
Updated Aug 19, 2024
This post may contain affiliate links. Please read our disclosure policy.
This rustic white bean soup recipe is packed with fresh vegetables and delicious any time of the year. It’s quick to make with canned beans, perfect for a vegetarian meal, and freezer-friendly. I love serving it with crusty bread for dinner or as an appetizer.

Why This White Bean Soup Recipe Is On Repeat Year-Round
- Great to make ahead. I often make this soup in large portions and refrigerate half for easy leftovers. You can also freeze the soup for up to 3 months, which makes it a great meal prep option.
- Adapt it how you like it. This soup with white beans and spinach is vegetarian-friendly as is. You can easily swap the veggies and add-ins, or stir in pulled chicken if you’re not making the recipe vegetarian.
- Quick and easy. Don’t you love homemade soup that’s as easy to make as it is tasty? With simple ingredients and a quick cooking time, cooks of all skill levels can make this white bean soup on any night of the week.

Ingredients You’ll Need
Below is a look at the ingredients needed to make this easy bean soup recipe. For the exact amounts and recipe instructions, please scroll down to the recipe card.
- Olive Oil – Used to sauté the vegetables. Any cooking oil, such as vegetable or avocado oil, will work.
- Butter – Adds richness and depth to the sautéed vegetables. If you prefer, you can use more cooking oil.
- Yellow Onion, Carrot, and Celery – Our trio of aromatics. If needed, use white onion or shallots instead of yellow onion.
- Fresh Parsley – Adds freshness and brightness to the soup. Swap parsley with any of your favorite herbs. Fresh basil, rosemary, and thyme also go nicely in this white bean soup.
- Garlic – If you don’t have fresh garlic, use ½ to ¼ teaspoon of garlic powder for each clove.
- Vegetable Broth – For a vegetarian option, stick with vegetable broth. Otherwise, chicken broth or chicken stock can be used.
- Dried Oregano – Adds a hint of Mediterranean flavor. You can substitute the dried herbs with thyme or Italian seasoning.
- Bay Leaf – If you don’t have a bay leaf, you can omit it. It just adds a bit more depth of flavor.
- Beans – Great Northern Beans are best for white bean soup because they absorb the flavors of the other ingredients. If you’re in a pinch and need a different kind of bean, other white beans, like cannellini beans or navy beans, will work, too.
- Canned Corn Kernels – Fresh or frozen corn is okay to use. You can swap corn kernels with fresh or frozen peas, chopped green beans, or another veggie if you’d like.
- Fresh Baby Spinach – If you like heartier greens, use Swiss chard or chopped kale to make a kale and white bean soup.
- Grated Parmesan Cheese – Adds a salty finish to the soup. Pecorino Romano is a good alternative.
Helpful Tips
- Avoid overcooking. Be mindful of the cooking time, especially with vegetables and beans, to prevent them from getting mushy.
- Broth choice. Using homemade or good-quality broth can enhance the soup’s flavor significantly.
- Adjusting the thickness. If your white bean soup is too thick, add a bit of water or more broth. For a chunkier consistency, there’s also the option to blend ¼ of the soup and then mix it back in. See the next section for more variations you can try.

Easy Variations
- Bean type: Start with the suggested Great Northern beans, but experiment with different types of beans to find the flavor and texture you prefer. Canned beans are convenient, but dried beans can also work when properly soaked and cooked beforehand.
- Herbs and spices: Adjust the herbs and spices to match your flavor preferences. You can add a dash of hot sauce, red pepper flakes, or fresh or dried chilies for a spicier soup.
- Make it creamy: Add a splash of heavy cream, half-and-half, or coconut milk to make creamy white bean soup. Alternatively, blending a portion of the soup (as mentioned in my Tips above) can also add a creamy texture without heavy cream.
- Adding fresh options: Try adding fresh summer zucchini, mushrooms, asparagus, or tomatoes to this white bean soup. If I have vegetables that have been in the refrigerator a bit too long and don’t want them to go to waste, soup recipes are my favorite way to use ’em!
- Protein options: I’ll often sauté cooked Italian sausage or smoked ham before adding the broth. This soup can easily include shredded chicken or bacon crumbles, too.
What to Serve With White Bean Soup
I always start with a simple salad, like my Macedonian shopska salad, a chef salad, or this Mediterranean tortellini salad, to add some freshness. Here are more ways to round out a meal with this savory white bean soup:
- Of course, bread is a must. Try my skillet bread spread with red pepper relish or quick air fryer garlic bread for dunking.
- You can’t go wrong with a bowl of soup and a classic grilled cheese.
- For dessert in the warmer months, I love this easy peach cobbler or Mediterranean-style baklava.
Pin this now to find it later
Pin It
White Bean Soup
Ingredients
- 1 tablespoon olive oil
- 1 tablespoon butter
- 1 small yellow onion, diced
- 1 large carrot, peeled and sliced into coins
- 3 stalks celery, sliced
- ¼ cup chopped fresh parsley
- 4 cloves garlic, minced
- 6 cups low sodium vegetable broth, or chicken broth
- 1 teaspoon kosher salt
- ½ teaspoon fresh ground black pepper
- ½ teaspoon dried oregano
- 1 bay leaf
- 2 cans (15.5 ounces each) Great Northern Beans, rinsed and drained
- 1 cup canned corn kernels, rinsed and drained
- 2 cups fresh baby spinach
- grated parmesan cheese, for serving, optional
- toasted bread slices, for serving, optional
Instructions
- Sauté the aromatics. Heat olive oil and butter over medium-high heat in a 6-quart Dutch oven or stockpot. Add onions, carrots, celery, and parsley to the heated oil; cook for 5 minutes or until just tender. Stir in garlic and cook for 30 seconds more.
- Add liquid and cook. Add vegetable broth; stir in salt, pepper, dried oregano, and bay leaf. Bring to a boil; reduce the heat to a simmer and cook for 5 minutes.
- Add beans and veggies. Stir in the beans and corn kernels; continue to cook for 5 minutes. Taste for salt and pepper; adjust accordingly. Add spinach and cook for 1 minute. Remove from heat.
- Finish and serve. Ladle soup into bowls; sprinkle with parmesan cheese and serve with toasted bread slices.
Video
Notes
- This recipe is prepared with canned beans; however, if you’re using dried beans, remember to soak them overnight before use. (Follow the directions on the packaging). This reduces cooking time and makes the beans easier to digest.
- Use good-quality broth/stock: This soup has only a handful of ingredients, so you want to use the good stuff – use a high-quality vegetable or chicken broth for the best flavor.
- Season to taste: I always say this, but it’s important! Before serving, always taste your soup (or whatever else you’ve cooked), and adjust the seasoning(s) as needed. Also, remember that you can always add more salt, but you can’t take it out.
- Don’t rush the cooking process. Allow the soup to simmer so that the flavors can fully develop.
- Sautéing cooked sausage or smoked ham before stirring in the broth will give the soup a hearty and rich flavor.
- Feel free to add more vegetables to your soup; zucchini and bell peppers add extra texture and flavor.
- If you like a little heat, add some crushed red pepper flakes or a dash of cayenne.
- For a creamier texture, you could blend part of the soup and mix it back in. Alternatively, stir in a bit of cream or coconut milk at the end of cooking.
Nutrition
Nutritional info is an estimate and provided as courtesy. Values may vary according to the ingredients and tools used. Please use your preferred nutritional calculator for more detailed info.
How To Make This White Bean Soup
Here’s how to make this quick, meal prep-friendly soup in just a few steps.


- Sauté the aromatics. Start by heating olive oil and butter in a large pot over medium heat. Add onions, carrots, celery, parsley, and garlic, sautéing until they are soft and fragrant.
- Stir in the ingredients and cook. Add the broth, white beans, and herbs to the pot. Bring the mixture to a boil, then reduce the heat and let it simmer for about 10 minutes, allowing the flavors to meld together.
- Add the greens. Stir in fresh spinach and cook until wilted.
- Enjoy! Season with salt and pepper to taste. Serve the soup hot, garnished with a sprinkle of Parmesan cheese. I like to top my white bean soup with croutons for extra crunch.
Storing Leftovers
- Refrigerate. Allow the white bean soup to cool to room temperature before storing. Place the cooled soup in airtight containers or resealable plastic bags and refrigerate for 3 to 4 days.
- Freeze for later. Portion the cooled soup into freezer-safe containers or bags, leaving some space at the top for expansion, and freeze for up to 3 months. Thaw overnight in the refrigerator or gently reheat from frozen on the stove, stirring often to avoid uneven heating.











I made this as written and it was very good. Next time I will try it with chicken broth as that’s what I’m used to. I wanted to try it first with vegetable broth because my son and his girlfriend are vegetarian. They will love this.
I did simmer it covered for about 30 minutes. This made the beans soft so the soup overall was more creamy.
Thanks for sharing!
That’s great! I am very glad you enjoyed this recipe! Thank you for chiming in! 🙂
I never leave a rating for recipes but I was inspired to because this the best soup I’ve ever tasted and made. Absolutely exceptional!!!!
That’s great to hear! I’m very happy you loved it! Thank you so much for chiming in! 🙂
This is the third time I’ve made this – so tasty and hearty!!
That’s great to hear! I am very glad you enjoyed it! Thank YOU! 🙂
I made it. It was delicious, but it is way more than 6 servings. More like 10 to 12 servings. I sprinkled shaved parmesan and half a slice of Dave’s organic sprouted bread, toasted.
I’m glad you enjoyed it! Thank YOU!:)
12 servings, serious? The amount of ingredients would not serve 12 people. Not as a meal, anyway. Perhaps as a little snack for 12 small children, but that’s about it.
So yummy! This was my second time making it. The first time, I made it exactly as written. Big hit. This time, we had some leftover rotini and cooked peppers and a tiny bit of Italian sausage, so I threw them in. Still fabulous. It’s definitely going in the keeper file.
That’s great to hear! I’m very glad you enjoyed it! Thank YOU! 🙂
I am making this soup right now. It smells so good. I love when a soup aroma fills the house. I’m sure it will be great.
I hope you enjoy it! Thank YOU! 🙂
I just made it and it smells wonderful. My husband has a hard time without meat. So I made it and scooped out some in a separate pan for me and put chicken in his. Have not tasted it yet, but I am sure it’s good. I love when my house takes on the aroma of a good soup.
Will be making this recipe tomorrow, will this be enough for 5 persons or will I have to add more of each ingredient? 😄
Hi!
If serving it as a side dish, it should be enough. If you want to add more, like say 2 cups per person, then yes, make more! 😊
Alright thank you 😄
I’ll make this as a main and will make a nice salad on the side to it. I’ll let you know how it goes thank you 😄
I’ve been looking for keto friendly or vegetarian recipes to continue to align my diet with my exercise regimen to lose weight and get more fit. Just made this and am eating it now. Fabulous!! Thank you so much for sharing this..I plan on making it pretty regularly. 🙂
That’s great to hear! I am very glad you enjoyed it! Thank YOU! 🙂
Looks good but I can’t get through all the ads and videos that cover 3/4 of my screen.
Hi!
The comments section is all the way at the bottom of the screen, way past the recipe card, but you found it. 😊 Next time, you can just click on the “JUMP TO RECIPE” button located at the very top of the screen; that will automatically scroll you down to the recipe card. Or, click on the “PRINT RECIPE” button that’s also located at the very top of the screen and you won’t have to look at any of my ads; however I do need that ad revenue – it’s what I use to pay all the expenses that come with running this website. 🤷♀️