I love this recipe because it’s simple, wholesome, and satisfying without being heavy. The combination of soft cannellini beans, lemony escarole, and aromatic herbs makes it both comforting and bright. It’s a great one-pot meal that doesn’t require much prep or fuss, and it’s just as delicious the next day. I also love how flexible it is—I can easily make it vegetarian or customize it with my favorite ingredients.
Ingredients
(Note: All ingredient amounts are listed in the recipe card below.)
4 tablespoons olive oil 5 cloves garlic, smashed 1 cup onion, diced small ½ cup celery, diced small ½ cup carrots, diced small 1 tablespoon lemon zest 2 teaspoons fresh rosemary, chopped ½ teaspoon crushed red pepper flakes 1 bay leaf 4 cups vegetable broth 2 cans cannellini beans or navy beans, drained and rinsed (15-ounce cans) 1 cup Castelvetrano olives, pitted 1 head escarole, washed and roughly chopped 3 tablespoons lemon juice, freshly squeezed salt and pepper, to taste
To Serve parmesan cheese, freshly grated bread extra virgin olive oil
Directions
I start by heating a large pot over medium heat and adding the olive oil. I stir in the smashed garlic cloves, onion, celery, and carrots, sautéing them for about 5–7 minutes until they’re soft and fragrant.
Next, I add the lemon zest, chopped rosemary, crushed red pepper flakes, and the bay leaf. I cook everything for another minute to let the flavors bloom.
Then I pour in the vegetable broth and add the drained beans, bringing the soup to a gentle simmer. I let it cook for about 10 minutes so all the ingredients can meld together.
Once the soup has simmered, I stir in the Castelvetrano olives and chopped escarole, cooking for about 5 minutes until the greens are wilted but still vibrant.
To finish, I remove the bay leaf and stir in the fresh lemon juice for brightness. I taste and adjust the seasoning with salt and pepper as needed.
Finally, I ladle the soup into bowls and top it with freshly grated Parmesan and a drizzle of extra virgin olive oil. I love serving it with warm, crusty bread for dipping.
Servings and Timing
This recipe makes about 8 servings and takes 45 minutes total—15 minutes of prep and 30 minutes of cooking. It’s the perfect choice for a cozy weeknight dinner or a hearty lunch.
Variations
I like changing things up by adding small pasta like ditalini or orzo for extra heartiness. Sometimes I mash a few of the beans before simmering to thicken the broth naturally. For an extra layer of flavor, I’ve added sun-dried tomatoes or a pinch of smoked paprika. If I want to make it fully vegan, I skip the Parmesan or use a plant-based cheese alternative.
Storage/Reheating
I store leftovers in an airtight container in the fridge for up to 4 days. When reheating, I warm it gently on the stove over medium heat and add a splash of broth or water if it’s too thick. It also freezes well for up to 3 months—I just cool it completely before portioning it into freezer-safe containers. When reheating, I freshen it up with a squeeze of lemon juice and a drizzle of olive oil.
FAQs
Can I make this soup vegetarian?
Yes, it’s naturally vegetarian as long as I use vegetable broth and skip the cheese or use a plant-based option.
What can I use instead of escarole?
Spinach, kale, or Swiss chard all make great substitutes.
How do I make the soup thicker?
I mash a few beans before simmering, which adds body and creaminess.
Can I use canned beans?
Yes, canned beans work perfectly. I just make sure to drain and rinse them first.
Is this soup spicy?
It’s mildly spicy from the red pepper flakes, but I can adjust the amount to my liking.
Can I add pasta?
Absolutely! Small shapes like ditalini or orzo make this soup even more filling.
What kind of olives work best?
I love Castelvetrano olives for their mild, buttery flavor, but green olives also work well.
Can I freeze it?
Yes, it freezes beautifully. I thaw it overnight in the fridge and reheat it gently.
How long does it keep?
It lasts up to 4 days in the fridge and up to 3 months in the freezer.
What should I serve with it?
I always serve it with warm crusty bread, garlic toast, or a light side salad.
Conclusion
This Escarole and Bean Soup is one of those dishes that feels both comforting and fresh at the same time. I love how the hearty beans, tender greens, and fragrant herbs create such a nourishing, flavorful bowl. It’s simple to make, perfect for sharing, and always leaves me feeling satisfied and warm inside—a true homemade classic.
This Escarole and Bean Soup is a hearty yet light Italian-inspired dish made with tender escarole, creamy cannellini beans, and aromatic herbs. Brightened with lemon and finished with olive oil and Parmesan, it’s the perfect cozy, nourishing soup for any season.
Ingredients
4 tablespoons olive oil
5 cloves garlic, smashed
1 cup onion, diced small
1/2 cup celery, diced small
1/2 cup carrots, diced small
1 tablespoon lemon zest
2 teaspoons fresh rosemary, chopped
1/2 teaspoon crushed red pepper flakes
1 bay leaf
4 cups vegetable broth
2 (15-ounce) cans cannellini beans or navy beans, drained and rinsed
1 cup Castelvetrano olives, pitted
1 head escarole, washed and roughly chopped
3 tablespoons freshly squeezed lemon juice
Salt and pepper, to taste
To Serve:
Freshly grated Parmesan cheese
Crusty bread
Extra virgin olive oil, for drizzling
Instructions
Heat a large pot over medium heat and add olive oil. Stir in garlic, onion, celery, and carrots, and sauté for 5–7 minutes until softened and fragrant.
Add lemon zest, rosemary, crushed red pepper flakes, and the bay leaf. Cook for 1 minute to release the aromas.
Pour in the vegetable broth and add the drained beans. Bring to a simmer and cook for about 10 minutes to allow the flavors to meld.
Stir in the Castelvetrano olives and chopped escarole. Simmer for 5 minutes until the greens are tender but still vibrant.
Remove the bay leaf and stir in the fresh lemon juice. Season with salt and pepper to taste.
Ladle the soup into bowls and top with freshly grated Parmesan cheese and a drizzle of olive oil. Serve with warm crusty bread.
Notes
For a vegan version, skip the Parmesan or use a plant-based alternative.
Mash some of the beans before simmering to create a thicker, creamier texture.
Add small pasta like orzo or ditalini for a heartier soup.
Spinach, kale, or Swiss chard can replace escarole if needed.
Store in the fridge for up to 4 days or freeze for up to 3 months.