this post may contain affiliate links...

When it comes to healthy foods, they don’t get much better than beans! These little legumes are packed full of so much goodness, we just had to put them in this easy bean soup recipe. As an added bonus, this meal is EXCELLENT value for money. In fact, each serving will only cost you around 50 cents. Healthy, delicious, and inexpensive? Sign us up!
How to Prepare Dried Beans
We love making this recipe from scratch with dried beans. They just have so much more flavor, and their texture has more “bite.” In contrast, canned beans in a soup can be bland and mushy. Dry beans are also cheaper than canned varieties and contain no added sodium or other ingredients. They are a whole food, for sure.

There are some critical steps to cooking dry beans. First, you need to soak them thoroughly. The best way to do this is to put them in a pot covered with water. Then just leave the beans in the fridge until it’s time to cook the soup! Also, make sure you discard the soaking water and give the beans a good rinse. This is because most of the carbohydrates that create that infamous “bean effect” (toot!) dissolve and are removed with the soaking liquid.
A quick tip: if you’re short on time, you can do a “quick soak.” Instead of putting the beans in the fridge, bring the water to the boil and then turn off the heat. After one hour in hot water, they should be ready to cook (you can leave them for longer if you have time).
How to Cook Bean Soup
The bean soup recipe starts with an aromatic base of onions and garlic in the bottom of a deep pot. These delicious veggies are sautéed gently with carrot and bell peppers until everything has sweated for a bit. After this, we stir in a dose of smoky chipotle peppers. This spice is seriously a wonder ingredient – it adds a deep, smoky flavor that will leave you thinking, “who needs bacon?”

Now it’s time to add the beans and cover everything with veggie broth. For the best bean soup, this has to be broth – plain water would make a really sad soup. After that, bring the soup to the boil and then reduce to a simmer. You don’t want to boil the soup, because the beans would fall apart. Continue simmering for at least 30 minutes, or until the beans are tender enough to eat. That’s honestly all there is to bean soup – easy, right?
When you’re ready to serve the soup, just ladle it into bowls (making sure you dish out plenty of beans). Then, just garnish with fresh herbs (we like thyme and parsley) and enjoy! Oh, and another tip – don’t forget the crusty bread! Or better still, serve your bean soup with our fantastic cornbread!
How Long will Bean Soup Keep?
If you store it in a sealed container, your bean soup will keep in the refrigerator for 3-4 days. Alternatively, you can freeze it in meal-sized portions for at least a month. However, bear in mind the beans will be a bit mushier after thawing.

We hope you love this hearty soup as much as we do. If you tried it, please let us know what you think with a comment and rating. Every bit of feedback helps make the blog even better.
And if you’re still in the mood for soup, check out our Zucchini, Tomato, and Sweet Potato Curry sups recipes!
Print
16 Bean Soup | Delicious, Low-cost + Easy Recipe
- Author: Rachel Steenland
- Total Time: 50 minutes + soaking
- Yield: 10 servings 1x
Description
This easy soup recipe has ALL the beans! We make it from scratch, which means it’s not just delicious and super-healthy, it’s budget friendly as well!
Ingredients
- 1 x packet 16 bean soup mix / dry beans, soaked (see notes)
- 2 large onions (2 pounds / 900grams), chopped
- 4 celery stalks, chopped
- 2 carrots, chopped
- 1 bell pepper, chopped
- 4 garlic cloves, minced
- 3 smoky chipotle peppers, chopped finely (see notes)
- 1–2 teaspoons salt
- 1–2 teaspoons peppers
- 12 cups vegetable broth + 1/4 cup for sautéing vegetables
To serve (optional)
- Fresh herbs (e.g. parsley and thyme)
- Cornbread
Instructions
- Soak the beans:
- Soak overnight: Pour beans into a large bowl and fill with water, cover and soak overnight.
- Quick soak: Place beans into pot, fill with water and bring to the boil. Boil beans for 5 minutes. Turn off heat, cover the pot with a lid and allow beans to soak for 1 hour.
- Place chopped onions, chopped celery, carrots, bell peppers and garlic into a large saucepan with 1/4 cup vegetable broth. Sauté over medium heat for around 5 minutes until the vegetables have softened. If needed, add an extra splash of vegetable broth.
- Drain and rinse the soaked beans. Add beans, chopped smoky chipotle peppers, salt and peppers to the sautéed onion mixture, stir to combine.
- Pour vegetable broth into the bean mixture. Bring broth to the boil, then reduce heat and simmer for 30 minutes.
- Taste soup and adjust seasoning to suit your palate.
- Ladle soup into bowls and garnish with fresh herbs, such as parsley an thyme (optional). You might also enjoy with a piece or two of cornbread on the side! Enjoy!
Your bean soup will keep in the refrigerator for 3-4 days. Alternatively, you can freeze it in meal-sized portions for at least a month. However, bear in mind the beans will be a bit mushier after thawing.
Notes
- We like to use Goya 16 Bean Soup Mix, which includes a combination of: Pinto beans, small red beans, pink beans, red kidney beans, great northern beans, red kidney beans, great northern beans, blackeye peas, navy beans, black beans, whole green peas, yellow split peas, green split peas, lentils, chick peas and pearl barley. If you can’t locate this 16 bean soup mix, or want to use something different, make sure you use beans such as pinto beans, black beans and navy beans for the best result.
- If you’re unable to find smoky chipotle peppers, you can achieve a similar taste by using smoked paprika (2 tablespoons) or liquid smoke (2 teaspoons). Taste and adjust ‘smokiness’ to suit your taste and products used.
- Prep Time: 10 minutes + soaking
- Cook Time: 40 minutes
Keywords: 16 bean soup
This post contains affiliate links, which means I’ll make a small commission if you purchase using these links. The price you pay as a consumer does not change.