-
Prep Time: 15 minutes
-
Cook Time: 30 minutes
-
Total Time: 45 minutes
-
Course: Main Course, Soup
-
Cuisine: Mediterranean, American
-
Diet: Vegan, Vegetarian, Gluten-Free
-
Yield: 4-6 servings
-
Difficulty: Easy (Beginner-friendly, one-pot recipe)
-
Intensity: Low (Minimal active cooking, mostly simmering)
Ingredients
-
2 tablespoons extra-virgin olive oil (plus more for drizzling)
-
1 large yellow onion, diced
-
2 medium carrots, diced
-
2 large celery stalks, diced
-
4-5 large cloves garlic, minced
-
2 teaspoons fresh rosemary, finely chopped (or 1 tsp dried)
-
¼ teaspoon crushed red pepper flakes (optional, for heat)
-
3 (15-oz) cans cannellini or great northern beans, rinsed and drained
-
4 cups (1 quart) low-sodium vegetable broth
-
1 bay leaf
-
1 teaspoon kosher salt (plus more to taste)
-
½ teaspoon freshly cracked black pepper
-
1 tablespoon fresh lemon juice
-
For Serving: Crusty bread, additional olive oil, chopped fresh parsley.
Equipment
-
Large Dutch oven or heavy-bottomed soup pot
-
Wooden spoon or spatula
-
Immersion blender (or standard blender)
-
Ladle
Step-by-Step Instructions
Step 1: Sauté the Aromatics (The Flavor Foundation)
In your large Dutch oven, heat the olive oil over medium heat. Add the diced onion, carrot, and celery. Cook, stirring occasionally, for 7-8 minutes until the vegetables have softened and the onions are translucent. This step, called sweating, builds a crucial flavor base—don’t rush it.
Step 2: Build the Flavor
Add the minced garlic, chopped rosemary, and red pepper flakes (if using) to the pot. Stir constantly for 1 minute until the garlic is fragrant. Be careful not to let it burn.
Step 3: Combine and Simmer
Add two of the three cans of rinsed beans, the vegetable broth, bay leaf, salt, and pepper to the pot. Stir to combine. Increase the heat to bring the soup to a gentle boil, then reduce the heat to low, cover with a lid slightly ajar, and simmer for 20 minutes. This allows the flavors to meld and the vegetables to become very tender.
Step 4: Creamify the Soup
After simmering, remove and discard the bay leaf. Using an immersion blender, carefully blend the soup directly in the pot until it is mostly smooth but with some texture remaining. (Safety Note: If using a standard blender, blend the soup in batches, filling the blender only halfway and holding the lid on with a towel to prevent steam explosions.)
This step is the secret to the soup’s luxurious, creamy texture without any dairy.
Step 5: Final Assembly
Stir in the remaining whole can of rinsed beans and the fresh lemon juice. Let the soup heat through for another 3-5 minutes. The whole beans add lovely texture and visual appeal. Taste and adjust seasoning with more salt and pepper as needed.
Step 6: Serve
Ladle the hot soup into bowls. Drizzle each serving with a thread of high-quality extra-virgin olive oil, a crack of black pepper, and a sprinkle of fresh parsley. Serve immediately with thick slices of warm, crusty bread for dipping.
Chef’s Notes & Recipe Lasts
-
Storage: This soup stores and reheats beautifully, often tasting even better the next day. Allow it to cool completely, then store in an airtight container in the refrigerator for up to 4 days.
-
Freezing: For longer storage, freeze in portion-sized containers for up to 3 months. Thaw overnight in the refrigerator before reheating gently on the stovetop.
-
Reheating: Reheat gently on the stovetop over medium-low heat, stirring occasionally. You may need to add a splash of broth or water to thin it slightly.
-
Customization:
-
Creamier Version: Stir in ¼ cup of canned coconut milk or unsweetened plant-based cream at the end.
-
Add Greens: Stir in 2-3 cups of chopped spinach or kale during the last 5 minutes of cooking.
-
Herb Swap: Try fresh thyme or sage in place of rosemary.
-
Smoky Twist: Add a pinch of smoked paprika with the dried spices.
-
Nutrition Information
(Per serving, based on 6 servings, without bread for serving)
| Nutrient | Amount | % Daily Value* |
|---|---|---|
| Calories | 280 | |
| Total Fat | 6g | 8% |
| Saturated Fat | 1g | 5% |
| Cholesterol | 0mg | 0% |
| Sodium | 580mg** | 25% |
| Total Carbohydrate | 45g | 16% |
| Dietary Fiber | 12g | 43% |
| Sugars | 4g | |
| Protein | 14g | 28% |
| Vitamin D | 0mcg | 0% |
| Calcium | 160mg | 12% |
| Iron | 5mg | 28% |
| Potassium | 980mg | 20% |