Bean Soup from Scratch Recipe: Homemade Richness From Dried Beans

Soups & Stews

Bean Soup from Scratch Recipe: Homemade Richness From Dried Beans

This bean soup from scratch recipe transforms simple dried beans into a hearty, flavorful masterpiece that rivals restaurant-quality versions. The secret lies in proper soaking and slow simmering, which develops deep, complex flavors that store-bought versions simply can't match.

I've perfected this method over years of testing, ensuring every spoonful delivers that satisfying combination of tender beans and rich broth.

The process begins with overnight soaking to soften the beans, followed by sautéing aromatic vegetables that form the flavor base. A 30-minute simmer on the stovetop (or 20 minutes in a pressure cooker) transforms humble ingredients into a velvety soup with perfectly tender beans.

The result is a comforting dish that's equally satisfying as a light lunch or substantial dinner.

What makes this recipe truly special is its adaptability—you can customize it with herbs, spices, or vegetables to suit your taste. The foolproof method ensures consistent results every time, while the slow cooking process allows flavors to meld beautifully.

Whether you're a beginner or experienced cook, this soup delivers restaurant-quality comfort at home.

Serve with crusty bread to soak up every drop of that flavorful broth, or pair it with a simple green salad for a complete meal. The leftovers actually improve overnight, making this an ideal make-ahead dish for busy weeks. Let's create this classic bean soup from scratch!

👨‍🍳
Difficulty
Medium
🔥
Calories
Low Cal

Ingredients for bean soup from scratch

Transform humble dried beans into restaurant-quality richness with these carefully chosen ingredients.

Ingredient Amount Notes
Dried Navy Beans 🌱 2 cups Uncooked, rinsed thoroughly
Yellow Onion 🧅 1 whole Medium-sized, diced finely
Carrots 🥕 3 medium Peeled, cut into 1/4-inch slices
Celery Stalks 🌿 3 whole Trimmed, cut into 1/4-inch pieces
Garlic Cloves 🧄 4 cloves Peeled, minced finely
Tomato Paste 🍅 ½ cup High-quality, unsweetened
Vegetable Broth 💧 6 cups Low-sodium preferred
Olive Oil 🫒 ¼ cup Extra-virgin for richness
Bay Leaves 🌿 2 whole Dried, standard size
Thyme Sprigs 🌿 2 whole Fresh or dried
Salt 🧂 1 ½ tsp Diamond Crystal preferred
Black Peppercorns 🌶️ ½ tsp Freshly cracked
Fresh Parsley 🌿 ¼ cup Chopped, for garnish
Lemon Juice 🍋 1 tbsp Freshly squeezed

The beans form the heart of this soup, so quality matters. Navy beans are ideal for their creamy texture, but cannellini or pinto beans work equally well. For the best flavor, rinsed dried beans (not canned) are essential—they absorb flavors better. I always source mine from Whole Foods bulk section or Trader Joe's for consistent quality. The vegetables should be fresh but firm—carrots with vibrant orange color and celery with crisp stalks ensure optimal flavor development during simmering. For the broth, low-sodium vegetable broth prevents over-salting later.

No fresh thyme? Dried thyme at one-third the amount works perfectly. The tomato paste can be substituted with 1 can (14 oz) crushed tomatoes if preferred, though paste provides deeper flavor. For a smokier profile, add 1 tsp smoked paprika. The lemon juice brightens the soup—bottled lemon juice works in a pinch, but fresh is ideal. If using dried beans, overnight soaking reduces cooking time significantly. For a quicker version, use quick-soak method (boil 2 minutes, then rest 1 hour). The olive oil should be extra-virgin for optimal flavor—regular olive oil lacks the fruity depth.

This soup improves with time—flavors meld beautifully overnight. Store in an airtight container in the fridge for up to 5 days, or freeze for 3 months. For reheating, add a splash of water or broth to prevent thickening. The beans will soften further, intensifying their flavor. Garnish with fresh parsley just before serving to maintain vibrant color. For meal prep, double the recipe—leftovers make perfect lunches or can be blended into a velvety bean dip.

❤️

Why You'll Love This Recipe

  • Here’s what sold me: the navy beans’ earthy richness paired with caramelized onions and garlic that sing when simmered low. The celery adds this subtle crunch that makes every spoonful feel like a hug—especially when you’re tired and just need something good.
  • Soak-and-Go Simplicity: I swear by this trick—just toss the dried navy beans in water the night before, and wake up to half the work done. No fancy gadgets, no stress: chop the onion, celery, and carrots (roughly, no one’s judging), toss everything in a pot, and let the stove do the heavy lifting. That’s it.
  • Umami Bomb Combo: Here’s what sold me: the navy beans’ earthy richness paired with caramelized onions and garlic that sing when simmered low. The celery adds this subtle crunch that makes every spoonful feel like a hug—especially when you’re tired and just need something good.
  • Leftovers That Beg for More: Between us, this soup only gets better after day two. The flavors meld into something deeply satisfying, and it’s the kind of meal that disappears faster than you can say “second bowl.” I make a big batch on Sundays and freeze portions—perfect for lazy nights or when company drops by unannounced.

Step-by-step instructions for homemade bean soup

Transforming simple dried beans into rich, flavorful soup requires patience and technique.

1

👨‍🍳 Step 1: Prepare and Soak the Dried Navy Beans

Rinse the 2 cups dried navy beans thoroughly under cold water to remove any debris. Place them in a large bowl and cover with plenty of cold water by at least 2 inches. Let them soak overnight at room temperature—this ensures even cooking and reduces digestion issues later. I always use a colander to drain them before adding to the pot.

The key here is proper hydration. After soaking, the beans should feel plump and slightly softened when pressed between fingers. If you're short on time, you can use the quick-soak method: boil the beans for 2 minutes, then let them sit off heat for 1 hour before cooking. Never skip soaking—it's what transforms tough dried beans into tender, flavorful soup.

2

🍳 Step 2: Sauté the Aromatic Vegetables

Heat the 0.25 cup olive oil in a large pot over medium heat. Add the finely diced yellow onion, 3 medium carrots cut into 1/4-inch slices, and 3 whole celery stalks cut into 1/4-inch pieces. Cook for 8-10 minutes, stirring occasionally, until the vegetables soften and the onion becomes translucent. This process builds the foundation of your soup's flavor.

Here's where it gets important: don't let the vegetables brown too much. You want them to soften rather than caramelize at this stage. Add the 4 cloves minced garlic and cook for an additional 30 seconds until fragrant. This quick cooking preserves the garlic's bright flavor rather than letting it burn. The vegetables should release their natural juices, creating a flavorful base for your soup.

3

🥘 Step 3: Develop the Flavor Base

Stir in the 0.5 cup tomato paste and cook for 2-3 minutes until it darkens slightly and coats the vegetables. This step deepens the soup's color and adds a rich, umami foundation. Add the 2 whole bay leaves and 2 whole thyme sprigs, then pour in the 6 cups vegetable broth. Bring everything to a gentle boil, then reduce heat to maintain a steady simmer.

Now add the drained navy beans and 1.5 tsp salt. The beans should be just covered by the liquid—if not, add a bit more broth. Let the soup simmer uncovered for 45-60 minutes, stirring occasionally. You'll know it's ready when the beans are tender but still hold their shape. I check for doneness by tasting a bean—it should be soft but not mushy.

4

⏰ Step 4: Season and Finish

Once the beans are tender, stir in the 0.5 tsp freshly cracked black peppercorns. Let the soup simmer for another 10 minutes to allow the flavors to meld. Taste and adjust the seasoning if needed—you might need a bit more salt depending on your broth. Remove the bay leaves and thyme sprigs at this point.

For the final touch, stir in the 1 tbsp freshly squeezed lemon juice. This brightens the soup and cuts through the richness. The acidity also helps break down any remaining starches in the beans, ensuring a smooth texture. Let the soup sit off heat for 5 minutes before serving—this allows the flavors to fully integrate.

5

🍽️ Step 5: Serve with Fresh Garnish

Ladle the soup into bowls and garnish each serving with 1 tablespoon of the chopped fresh parsley. The parsley adds a fresh, bright contrast to the rich bean soup. Serve immediately while hot, as the flavors continue to develop even after cooking. This homemade bean soup delivers a depth of flavor you simply can't achieve with canned beans.

The result should be a velvety soup with tender beans, vibrant vegetables, and a perfect balance of savory and bright flavors. Each spoonful should showcase the natural sweetness of the carrots, the earthiness of the beans, and the aromatic complexity of the herbs. The lemon juice ensures the soup finishes with a refreshing lift rather than feeling heavy.

👨‍🍳

Pro Tips For Making Bean Soup From Scratch

  • SOAK BEANS OVERNIGHT: I learned this the hard way—rushing soaks with hot water just skins the beans instead of softening them. Cold water overnight (or at least 8 hours) breaks down the starches properly, so they cook evenly without that chalky bite. No soaking? Cover them with fresh water, bring to a boil for 2 minutes, then simmer 1 hour before adding to the soup.
  • SWEEP THE POT: After draining the beans, don’t just dump them back in. Scrape up those stuck-on bits with a wooden spoon—those caramelized bean bits are flavor gold. A quick 30-second wipe with a damp paper towel keeps your soup from tasting like it’s been simmering in the same pot since 1987.
  • CHAR THE AROMATICS: Skip the gentle sauté—crank the heat to medium-high and cook the onions, carrots, and celery until they’re deep golden, not just soft. The celery especially needs 5-7 minutes to develop that nutty, almost burnt edge. (Yes, it’ll smell like your kitchen’s on fire—good.) This builds the soup’s depth way more than a slow simmer ever will.
  • SAVE THE SOAK WATER: That starchy soak water isn’t trash—it’s free seasoning. Strain it, taste it, and add it back to the pot if the soup tastes bland. It’s got dissolved bean goodness that’ll round out the flavors without needing extra salt. (Your future self will high-five you when you remember this.)

Serving suggestions for this dish

Bread Pairings

Crusty sourdough bread is my go-to pairing—its tangy crumb perfectly complements the soup's earthy flavors. I recommend artisan-style sourdough from local bakeries or a baguette cut into thick slices. For extra indulgence, toast the bread with garlic-infused olive oil and sprinkle with flaky sea salt before serving. 🥖

Salad Contrasts

A simple arugula salad with lemon vinaigrette lightens the meal beautifully. Toss 4 cups baby arugula with 2 tbsp extra-virgin olive oil, 1 tbsp fresh lemon juice, and a pinch of himalayan pink salt.

Add ¼ cup shaved parmesan for a salty contrast that cuts through the soup's richness.

Cheese Accompaniments

For a heartier meal, serve with aged cheddar cubes or manchego slices. The sharp, nutty flavors of aged cheddar (like Cabernet Sauvignon) pair wonderfully with the soup's depth.

I also love goat cheese crostini—spread 2 oz goat cheese on toasted baguette slices, drizzle with honey, and top with thinly sliced pear.

Toppings for Extra Flavor

Let guests customize their bowls with these toppings: crumbled feta, toasted pine nuts, avocado slices, or pickled red onions. I keep a small bowl of each on the table so everyone can build their perfect serving.

The pickled onions add a tangy crunch that balances the soup's heartiness.

Warm vs. Cold Serving

Serve the soup piping hot for maximum comfort, but I also love offering a small pitcher of chilled vegetable broth on the side. A few spoonfuls of cold broth can refresh the palate between bites, especially when paired with spicy toppings.

For a winter meal, serve with a bowl of steaming broth alongside the soup.

Dessert Pairings

Finish the meal with something light to balance the richness. A lemon sorbet or orange-infused olive oil cake cleanses the palate beautifully. For a savory option, try whipped feta with honey and walnuts—the sweetness contrasts perfectly with the soup's earthy flavors. 🍋

Nutrition facts

Servings 6
Amount Per Serving
Calories 280kcal
% Daily Value *
Total Fat 12g15%
Saturated Fat 1.5g8%
Cholesterol 0mg0%
Sodium 520mg23%
Total Carbohydrate 42g15%
Dietary Fiber 12g43%
Sugars 8g
Protein 18g36%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Why do I need to soak dried beans overnight?

Overnight soaking is essential for two reasons: it reduces cooking time by 30-50% and prevents those tough, indigestible beans. The beans absorb water and soften, allowing them to cook evenly. For a quicker version, try the quick-soak method: boil beans for 2 minutes, then let them sit off heat for 1 hour before cooking. Never skip soaking—it's what transforms tough dried beans into tender, flavorful soup.

2

Can I substitute canned beans for dried beans?

Yes, but you'll lose that deep, developed flavor from slow-cooking dried beans. If using canned beans, drain and rinse them well to remove excess sodium. For best results, add them to the soup during the last 10 minutes of cooking to prevent mushiness. Canned beans work in a pinch, but dried beans create a richer, more complex broth through their long simmering process.

3

How do I know when the beans are fully cooked?

Test for doneness by tasting a bean—it should be soft but still hold its shape (not mushy). For visual confirmation, cut one open: the center should be creamy, not firm. Total cooking time after soaking is typically 45-60 minutes on medium-low heat. Overcooking turns beans to mush, so check frequently after 40 minutes. A wooden spoon test works too: press a bean against the pot side—it should crush easily but not turn to paste.

4

What if my soup tastes too thick after cooking?

Add ½ cup hot broth at a time while stirring until you reach your desired consistency. If the soup is too thin, simmer uncovered for 10-15 minutes longer to reduce. For extra richness, mash 2-3 beans against the pot side to release starches, then stir well. The soup should coat the back of a spoon but still be easy to ladle. Never add flour—it changes the texture completely.

5

Can I make this soup in an Instant Pot?

Use the same ingredients but adjust the cooking time: sauté vegetables as directed, then add all remaining ingredients (including beans) and cook on high pressure for 10 minutes. Let pressure release naturally for 10 minutes before quick-release. The Instant Pot reduces cooking time to about 30 minutes total. For extra flavor, add 1 cup water instead of broth during pressure cooking. The result is just as rich but much faster!

★★★★★4.7(4 reviews)
Categories Soups & Stews