Bean Soup With Potatoes, Onions, and Garlic Recipe: Hearty Rustic Flavor in One Pot

Soups & Stews

Bean Soup With Potatoes, Onions, and Garlic Recipe: Hearty Rustic Flavor in One Pot

This bean soup with potatoes, onions, and garlic recipe delivers rustic, hearty flavor in a single pot—perfect for chilly evenings or meal prep. The secret lies in slow-simmered aromatics and tender vegetables that meld into a deeply satisfying broth.

I developed this version to be foolproof, using pantry staples while still achieving restaurant-quality depth.

Start by sautéing onions and garlic until fragrant, then add potatoes and beans for a foundational texture. Simmering low and slow (about 45 minutes) ensures the potatoes soften perfectly while the beans stay intact.

A splash of broth and a pinch of smoked paprika elevate the flavor without overpowering the simple ingredients.

What you’ll end up with is a thick, velvety soup with creamy potatoes, earthy beans, and layers of savory garlic—ideal for serving with crusty bread or as a standalone meal. The recipe scales easily, making it perfect for feeding a crowd or prepping for the week ahead.

For extra richness, stir in a spoonful of olive oil at the end, or garnish with fresh parsley for brightness. This soup is the kind of comforting dish that transforms basic ingredients into something truly special—simple yet unforgettable.

👨‍🍳
Difficulty
Medium
🌿
Diet
Vegetarian
🔥
Calories
Med Cal

Ingredients for bean soup with potatoes and onion and garlic

Pantry essentials and fresh aromatics combine for this deeply satisfying vegan bean soup.

Ingredient Amount Notes
Dried Cannellini Beans 🌱 2 cups Unsoaked for 45-minute simmer
Yellow Onions 🧅 2 whole Diced into even 1/4-inch pieces
Garlic Cloves 🧄 6 cloves Mince finely for aromatic depth
Russet Potatoes 🥔 2 lb Cut into 1-inch chunks for even cooking
Vegetable Broth 💧 4 cups Low-sodium preferred for flavor control
Extra-Virgin Olive Oil 🫒 ¼ cup High-quality for finishing drizzle
Smoked Paprika 🌶️ 1 tsp For subtle smoky complexity
Ground Cumin 🌿 ½ tsp Toasted for deeper earthy notes
Fresh Thyme 🌿 2 sprigs Leaves only for bright aroma
Bay Leaves 🌿 2 whole Remove before serving
Salt 🧂 1 ½ tsp Diamond Crystal preferred
Black Peppercorns 🌶️ ½ tsp Freshly cracked for texture
Lemon Juice 🍋 1 tbsp Freshly squeezed for brightness
Fresh Parsley 🌿 ¼ cup Chopped for garnish

The foundation starts with cannellini beans, which hold their shape beautifully during simmering. For optimal texture, use dried beans rather than canned—they absorb flavors more deeply. Whole Food's bulk section carries high-quality dried beans, or any reputable grocery store will have them. The onions and garlic should be freshly diced—no pre-chopped sets here, as they oxidize quickly. For the potatoes, russets are ideal due to their high starch content, which creates that velvety texture in the finished soup. If you prefer a creamier consistency, add an extra 1/2 cup of vegetable broth during simmering.

No smoked paprika? Substitute with a pinch of liquid smoke (1/4 tsp) for depth, though the flavor will differ slightly. Fresh thyme unavailable? Dried thyme works at half the amount, but toast it first in a dry pan for 30 seconds to enhance its aroma. For a quicker prep, pre-cut potatoes from the grocery store save time, though they may have slightly less texture. The vegetable broth is non-negotiable—low-sodium versions like Pacific Foods or Imagine give you better flavor control. If you're short on time, instant potato flakes can replace half the potatoes (1 lb) for a quicker version, though texture will differ.

This soup tastes even better the next day as flavors meld further. Store in an airtight container in the fridge for up to 5 days, or freeze for 3 months by portioning into individual containers. For reheating, add a splash of broth or water to prevent thickening. The parsley garnish should be added fresh just before serving—it brightens the dish significantly. To make ahead, prepare the soup up to the simmering point, then refrigerate the raw ingredients separately. When ready to cook, simply combine and simmer as directed for a perfectly timed meal.

❤️

Why You'll Love This Recipe

  • No-Fuss Pantry Staples: I swear by this recipe because it uses what’s already in my cupboard—no fancy shopping required. Soak the dried cannellini beans overnight (or use canned in a pinch), then toss in onions, garlic, and potatoes. That’s it. Zero last-minute grocery runs.
  • Garlic-Potato Magic: The moment those russet potatoes soften into the broth, absorbing the garlic and onion aroma? Absolute perfection. Creamy, savory, with just enough bite—this isn’t just soup, it’s a flavor explosion that feels like a hug.
  • Meal-Prep MVP: Make a big batch on Sunday, and you’ve got lunch covered for days. The potatoes stay tender, the beans thicken just right, and it reheats like a dream. Honestly, my slow weeknights thank me every time.
  • Budget-Friendly Powerhouse: Cannellini beans and potatoes stretch this soup into a full meal for under $5. It’s the kind of dish that makes me feel like I’m feeding a crowd without breaking the bank—or my sanity. (Yes, even on a Tuesday night.)

Step-by-step instructions for hearty rustic bean soup

This one-pot method delivers deep flavor and satisfying texture with minimal effort.

1

Sauté Aromatics Until Deeply Fragrant

Heat the 0.25 cup extra-virgin olive oil in a large Dutch oven over medium heat. Add the 2 whole yellow onions, diced into even ¼-inch pieces, and cook for 8-10 minutes until they turn translucent and begin to caramelize along the edges. This slow cooking develops sweetness that forms the soup's foundation.

Add the 6 cloves garlic cloves, minced finely, along with the 1 tsp smoked paprika and 0.5 tsp ground cumin. Stir continuously for 1-2 minutes until the garlic becomes golden and fragrant. This step builds the aromatic base that will infuse every spoonful of your soup. Watch carefully—the garlic burns quickly at this stage.

2

Toast Spices and Add Potatoes

Remove the pot from heat and immediately stir in the 2 sprigs fresh thyme leaves and 2 whole bay leaves. Return to medium heat and add the 2 lb russet potatoes, cut into 1-inch chunks. Toss everything together for 2 minutes to coat the potatoes with the aromatic mixture.

Here's the thing—proper potato preparation matters. The even 1-inch chunks ensure consistent cooking while maintaining texture. If you prefer softer potatoes, reduce the size slightly, but don't go smaller than ½-inch or they'll disintegrate during the long simmer.

3

Simmer Beans and Potatoes Until Tender

Add the 2 cups dried cannellini beans (no need to soak) and pour in the 4 cups vegetable broth. Stir well to combine, then bring to a boil over high heat. Once boiling, reduce heat to low and cover partially. Simmer for 45-50 minutes until the beans are tender but not mushy and the potatoes are fork-tender with slight resistance.

I check for doneness by tasting a bean and potato—both should be soft enough to crush between your teeth but still hold their shape. The soup should have reduced slightly, allowing the flavors to concentrate. If it looks too thin, reduce heat slightly to allow more evaporation.

4

Season and Finish with Brightness

Remove the bay leaves and stir in the 1.5 tsp salt and 0.5 tsp freshly cracked black peppercorns. Taste and adjust seasoning—this is where you'll notice if your broth needed more salt earlier. The soup should be rich but not overwhelmingly salty.

Off heat, stir in the 1 tbsp freshly squeezed lemon juice and 0.25 cup chopped fresh parsley. The acidity brightens the earthy flavors while the parsley adds freshness. Let the soup sit for 5 minutes to allow the lemon to fully integrate before serving. This final step transforms good soup into exceptional soup.

👨‍🍳

Pro Tips For Making Bean Soup With Potatoes And Onion And Garlic

  • SOAK BEANS OVERNIGHT: Dried cannellini beans soften faster and stay less gassy if soaked 8–12 hours in cold water—just swap the water once mid-soak. I used to skimp on time and end up with a pot that tasted like overworked cardboard instead of rich, tender beans.
  • PEEL POTATOES AFTER COOKING: Russets hold their shape better raw, but peeling them after boiling (when they’re just fork-tender) saves mess and prevents oxidization. Drop them in ice water first—this stops cooking and makes peeling a breeze (no more bruised knuckles).
  • CARAMELIZE ONIONS LOW AND SLOW: Skip the rush: cook onions at medium-low heat for 20+ minutes until deep golden, not brown. I learned this the hard way—burnt onions make the whole soup taste bitter, and no one wants that sad, acrid note fighting for flavor.
  • SALT THE BROTH LATE: Add salt only after potatoes and beans are cooked—otherwise, you’ll end up with mushy spuds or underseasoned broth. Taste the broth first, then adjust; a pinch of salt at the end guarantees balance without turning your soup into a salt mine.

Regional styles of this dish

Spanish-Style Garbanzo

In Spain, this soup often features garbanzo beans instead of cannellini, creating a lighter but equally flavorful dish. The Spanish version typically includes chorizo or pimentón de la Vera (smoked paprika) for a smoky depth.

I love adding 1 diced chorizo sausage during the sauté stage—it adds richness without overpowering the vegetables. Serve with crusty pan con tomate for an authentic touch. 🌶️

Italian White Bean

Italy transforms this into a creamy fagioli all'uccelletto, using cannellini or borlotti beans with a splash of white wine during cooking. Add ½ cup dry white wine when sautéing the onions and reduce by half before adding broth.

Finish with grated pecorino cheese and fresh basil for brightness. The Italians often serve it with polenta to soak up the rich broth.

French Potage

France elevates this to a rustic potage by adding carrots and leeks for sweetness, plus a touch of thyme and tarragon. The French technique involves a longer simmer (60-75 minutes) to develop complex flavors.

I recommend adding 1 diced carrot and 1 leek (white part only) with the onions. Finish with a drizzle of crème fraîche and fresh chervil for elegance. 🥕

Mexican Frijoles Charros

For a Mexican twist, this becomes frijoles charros with pinto beans, jalapenos, and avocado slices>. Sauté 1 diced jalapeño> with the onions and add 1 tsp cumin and ½ tsp oregano> during the spice toast.

Top with avocado slices and cilantro> before serving. This version is perfect for tacos or as a hearty side with corn tortillas>.

Portuguese Caldo Verde

Portugal’s answer is caldo verde, where potatoes and beans share the spotlight with kale or collard greens>. The Portuguese use linguiça sausage> and serve it with pork cracklings>.

For a vegan version, skip the sausage and add 2 cups chopped kale> during the final 10 minutes> of simmering. The greens wilt beautifully, adding earthy depth. 🥬

Modern American Twist

In the US, many home cooks add smoked gouda cheese> or crumbled bacon> for extra richness. For a vegan-friendly version, stir in ½ cup coconut milk> at the end for creaminess.

I also like adding roasted sweet potatoes> (swap half the russets) for natural sweetness. Garnish with toasted pumpkin seeds**> for crunch and a pop of color. 🌟

Nutrition facts

Servings 6
Amount Per Serving
Calories 380kcal
% Daily Value *
Total Fat 12g15%
Saturated Fat 2g10%
Cholesterol 0mg0%
Sodium 680mg29%
Total Carbohydrate 60g22%
Dietary Fiber 14g50%
Sugars 6g
Protein 22g44%
* 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

Can I use canned beans instead of dried?

Yes, but adjust cooking time! Use 2 (15 oz) cans of cannellini beans (drained/rinsed) and reduce simmering to 20-25 minutes—they're pre-cooked. For best flavor, add them at the end of cooking to prevent mushiness.

2

Why does my soup taste bland?

Most likely, your broth needs more salt or acid. Stir in ½ tsp salt and 1 tbsp lemon juice at the end, or add 1 tsp soy sauce for umami depth. Also check if you toasted the spices—they should smell aromatic, not just dusty.

3

How can I make it creamier without dairy?

Blend 1 cup of the soup with an immersion blender, then stir back in for a silky texture. For extra richness, add ½ cup coconut milk or 2 tbsp nutritional yeast at the end. The potatoes naturally create creaminess when cooked properly!

4

Can I make this in an Instant Pot?

Sauté onions/garlic as directed, then add all ingredients except parsley. Cook on high pressure for 10 minutes, then quick-release. Finish with lemon juice and parsley. The pressure cooker cuts time by 30 minutes while keeping flavors intact.

5

What's the best way to store leftovers?

Let the soup cool completely, then transfer to an airtight container. It keeps in the fridge for 5 days or freezes for 3 months. For reheating, add 2 tbsp broth per cup to prevent thickening. The flavors actually improve overnight!

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