Soups & Stews
This bean soup from scratch recipe transforms simple pantry staples into a deeply satisfying, earthy simmer that warms both body and soul. š± The secret lies in slow-cooked beansāwhether dried or cannedāthat develop rich, complex flavors as they meld with aromatic vegetables and herbs.
Unlike quick versions, this method builds depth through time, creating a broth so flavorful it becomes the star.
What sets this recipe apart is its adaptability: start with a classic base of onions, carrots, and celery, then customize with smoked paprika for warmth, coconut milk for creaminess, or a splash of vinegar for brightness.
The beans become tender yet hold their shape, absorbing all the surrounding flavors while maintaining satisfying texture. Every spoonful delivers that perfect balance of heartiness and comfort.
For those short on time, a pressure cooker cuts preparation to 30 minutes, while traditional simmering on the stove yields even more concentrated flavor. The result is a soup that tastes like a hugāsubstantial enough for a cold evening but light enough for lunch.
Garnish with fresh herbs or a drizzle of olive oil to elevate it further. Whether you're feeding a family or meal prepping for the week, this bean soup delivers restaurant-quality depth without the fuss. Letās get cooking!
Ingredients for bean soup from scratch
Simple pantry staples transform into a deeply flavorful bean soup with earthy depth and satisfying texture.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried White Beans š± | 1 ½ cups | Rinsed, soaked overnight |
| Yellow Onion š§ | 1 whole | Chopped, medium size |
| Carrots š„ | 3 whole | Peeled, chopped into chunks |
| Celery Stalk š§ | 3 whole | Chopped, including leaves |
| Garlic Cloves š§ | 4 cloves | Minced, fresh preferred |
| Canned Diced Tomatoes š | 2 cups | San Marzano preferred |
| Vegetable Broth š§ | 4 cups | Low-sodium preferred |
| Smoked Paprika š¶ļø | 1 tbsp | For earthy depth |
| Ground Cumin šæ | ½ tsp | Toasted for warmth |
| Coconut Milk š„„ | ½ cup | Full-fat for creaminess |
| Apple Cider Vinegar š | 1 tbsp | Brightens flavors |
| Fresh Thyme Leaves šæ | ¼ cup | Or 1 tsp dried thyme |
| Extra-Virgin Olive Oil š« | 2 tbsp | For sautĆ©ing vegetables |
| Sea Salt š§ | 1 ½ tsp | Adjust to taste |
| Black Peppercorns š¶ļø | ½ tsp | Freshly cracked |
The beans are the heart of this soup. Dried white beans develop the most complex flavor, but cannellini or pinto beans work tooājust reduce cooking time by 30 minutes. Soak them overnight to cut down on simmering. For a shortcut, use two cans of drained beans (15 oz each) and skip the soaking. The San Marzano canned tomatoes add natural sweetness, but any good-quality brand works. If you're using dried beans, Trader Joe's or Whole Foods carry excellent organic optionsālook for plump, unbroken beans with no cracks.
No smoked paprika? Regular paprika plus a pinch of liquid smoke mimics the flavor. Coconut milk can be swapped for cashew cream (blend soaked cashews with water) or even a splash of cream if you're not strict vegan. Fresh thyme is ideal, but dried thyme at one-third the amount works in a pinch. The apple cider vinegar might seem odd, but it brightens the dishālemon juice works too. For extra richness, stir in 1 tbsp tahini at the end. The vegetables should be chopped uniformly so they cook evenlyāno need to peel the carrots if you're in a hurry, just scrub them well.
This soup tastes even better the next day as flavors meld. Store in an airtight container in the fridge for up to 5 days. For freezing, portion into 2-cup servingsāthey reheat perfectly. The broth thickens as it cools, so add a splash of water or extra broth when reheating. Garnish with fresh herbs or a drizzle of olive oil right before serving. Double the recipe and freeze halfāperfect for lazy weeknights.
Why You'll Love This Recipe
- No-Soaking Needed: Iāll admitāsoaking beans used to scare me off. But this recipe skips it entirely. Just toss in dried white beans, let them simmer until tender, and boom. No extra steps, no waiting around. The beans soften perfectly while the carrots and celery mellow into the broth.
- Garlic-Carrot Magic: That crisp-tender carrot and celery combo? Itās the secret. The onions and garlic caramelize just enough to sweeten the broth, while the celery adds a bright, fresh edge. Honestly, Iāve tried fancier soupsāthis one still wins for depth.
- Weeknight to Potluck: Make a big batch on Sunday, and youāve got lunch for three days. Or bring it to a picnicāitās hearty enough for a chilly afternoon but light enough to pack. My college friends still ask for seconds, even when I serve it cold.
- Pocketbook Hero: Dried beans are my budgetās best friend. A pound feeds four for under $2, and the veggies stretch further than youād think. Between us, this soup saved me from takeout more times than I can count. (Yes, even on a Tuesday night.)
Step-by-step instructions for bean soup from scratch
Follow this method for a rich, aromatic bean soup with layers of smoky, earthy flavors.
š³ Step 1: SautĆ© the Aromatic Vegetables
Heat the 2 tablespoons extra-virgin olive oil in a large pot over medium heat. Add the chopped yellow onion, carrots, and celery stalk (including leaves). Cook for 8-10 minutes until the vegetables soften and the onion becomes translucent.
Stir occasionally to prevent browning. When the vegetables are tender, add the minced garlic cloves and cook for an additional 1 minute until fragrant. This step builds the flavor foundationādon't rush it. The vegetables should release their natural juices and create a fragrant base for the soup.
š³ Step 2: Toast the Spices and Add Tomatoes
Reduce the heat to medium-low and add the 1 tablespoon smoked paprika and ½ teaspoon ground cumin. Stir constantly for 30 seconds to toast the spices and release their aromatic oils. This step deepens the earthy, smoky flavor profile of the soup.
Next, add the 2 cups canned diced tomatoes (with their juices) and the 1 tablespoon apple cider vinegar. Stir well to combine, then pour in the 4 cups vegetable broth. Bring the mixture to a gentle boil, then reduce the heat to medium-low and let it simmer for 10 minutes to meld the flavors.
šØāš³ Step 3: Add the Beans and Simmer
Drain the soaked 1½ cups dried white beans (discard the soaking water) and add them to the pot. Stir gently to combine. The beans should be fully submerged in the broth. If not, add a little more broth or water to cover them.
Add the ¼ cup fresh thyme leaves and bring the soup back to a gentle simmer. Partially cover the pot and let it cook for 45-50 minutes, stirring occasionally. The beans are done when they're tender but still hold their shape. If the soup reduces too much, add a splash of water or broth to maintain consistency.
š„ Step 4: Finish with Coconut Milk and Season
Once the beans are tender, stir in the ½ cup coconut milk to add creaminess and balance the earthy flavors. Taste the soup and adjust the seasoning with additional sea salt or black peppercorns as needed. The coconut milk should blend smoothly into the soup, creating a velvety texture.
Simmer for an additional 5 minutes to let the flavors meld. Remove from heat and let the soup rest for 5 minutes before serving. This resting time allows the flavors to settle and the soup to thicken slightly, enhancing its richness.
Pro Tips For Making Bean Soup From Scratch
- SOAK BEANS 8+ HOURS: I learned this the hard wayāskipping the long soak leaves beans tough and gummy. Use cold water, cover, and let them sit overnight (or at least 8 hours) in the fridge. No need to boil them first; just drain, rinse, and add to the pot. Your future self will notice the difference in texture.
- SWEAT VEGETABLES LOW: After burning three batches of onions, I finally figured out: medium-low heat is your friend. Cook the onion, celery, and carrots for 10-12 minutes until soft, not browned. This builds flavor without bitternessājust stir occasionally and resist the urge to crank the heat.
- SKIP THE CROWDED POT: Does it look weird? Yes. Does it work? Every single time. Start beans in a pot with enough water to cover them by 2 inches, then add veggies later. Crowding them from the start makes them split and turn mushy. Give them room to breathe, then top off with broth or water as they cook.
- SAVE TIME WITH GARLIC: My grandmother swore by this, and she was right: crush the garlic cloves with the flat side of a knife instead of mincing. This releases more flavor without burning, and you wonāt waste time peeling or chopping. Toss them in with the veggies in the last 5 minutes of cookingājust enough to infuse, not overpower.
Creative variations of these flavors
Smoky Chipotle Twist
Swap the smoked paprika for 1-2 chipotle peppers in adobo sauce, blended with 1 tbsp adobo sauce. This adds deep, smoky heat that lingers on your tongue. I like to toast the chipotles in a dry skillet for 30 seconds to intensify their flavor before blending.
For extra richness, stir in 1 tbsp tahini at the endāit balances the heat beautifully. š¶ļø
Creamy Coconut-Lime Version
Brighten the soup with 2 tbsp fresh lime juice and 1 tbsp lime zest after adding the coconut milk. The acidity cuts through the creaminess while adding a refreshing zing. For a thicker texture, blend half the soup with ½ cup coconut milk before returning it to the pot.
Garnish with cilantro and a sprinkle of chili powder for a Mexican-inspired twist.
Hearty Mushroom Addition
Sauté 8 oz cremini mushrooms with the onions and celery for an earthy depth. Add 1 tsp dried thyme and ½ tsp soy sauce while cooking to enhance their umami.
The mushrooms absorb the soupās flavors beautifully, adding a meaty texture without any animal products. This works especially well with the smoked paprika variation.
Spicy Red Pepper Kick
For a vibrant, slightly sweet heat, add 1 diced red bell pepper with the onions and 1 tsp cayenne pepper when toasting the spices. The bell pepper adds natural sweetness, while the cayenne brings a fiery punch.
I also like to finish with 1 tbsp hot honey drizzled over each bowlāitās the perfect balance of sweet and spicy. š„
Mediterranean Herb Infusion
Replace thyme with 2 sprigs fresh rosemary and 1 sprig fresh oregano, and add ½ tsp ground coriander when toasting the spices. Finish with 1 tbsp lemon juice and a drizzle of extra-virgin olive oil.
This variation feels light yet robust, perfect for a summer lunch. Garnish with toasted pine nuts for crunch and fresh parsley for color.
Pressure Cooker Shortcut
Use a 6-quart pressure cooker to cut cooking time dramatically. SautƩ the vegetables as directed, then add all ingredients (including beans) and pressure cook for 15 minutes on high pressure. Quick-release the pressure, then stir in the coconut milk and adjust seasoning.
This method maintains all the depth of flavor while being ready in under 30 minutes**. Perfect for busy weeknights! ā°
Nutrition facts
Frequently asked questions
Can I use canned beans instead of dried?
Yes! For a quicker version, use two 15-ounce cans of drained white beans (like cannellini or great northern) and skip the soaking. Reduce the simmering time by 20-25 minutes since canned beans are pre-cooked. The texture will be slightly softer, but still delicious.
How do I make this soup thicker?
Simmer uncovered for 10-15 extra minutes to reduce the liquid, or mash 2-3 beans with a fork to thicken naturally. For instant thickening, stir in 1 tablespoon cornstarch mixed with 2 tablespoons water and simmer for 2 minutes. The coconut milk also adds creaminess!
What if my beans taste bland?
Simmer longer (up to 1 hour) to deepen flavors, or boost taste with 1 extra tablespoon smoked paprika or ½ teaspoon liquid smoke. A splash of apple cider vinegar or lemon juice brightens the broth. Pro tip: Toast the beans in a dry pan for 5 minutes before cooking for nuttier flavor.
Can I freeze this bean soup?
Let it cool completely, then store in airtight containers for up to 3 months. The texture holds well when reheated. For best results, freeze in 2-cup portionsāperfect for quick lunches. Thaw overnight in the fridge and stir in a splash of water if it seems too thick.
What's the best way to reheat?
Gently reheat on the stove over low heat until steaming, stirring occasionally. For microwave reheating, cover and heat in 1-minute intervals, stirring between each. Add 1-2 tablespoons broth or water if needed to restore consistency. Never boil vigorously to avoid breaking down the beans.
