# What You Need:
→ Vegetables
01 - 2 tablespoons olive oil
02 - 1 medium yellow onion, diced
03 - 2 medium carrots, peeled and diced
04 - 2 celery stalks, diced
05 - 3 garlic cloves, minced
06 - 4 cups fresh baby spinach, roughly chopped
→ Beans & Broth
07 - 2 cans (15 ounces each) cannellini beans, drained and rinsed
08 - 4 cups low-sodium vegetable broth
→ Flavorings
09 - 1 teaspoon dried thyme
10 - 1 teaspoon dried rosemary
11 - 1 bay leaf
12 - 0.5 teaspoon crushed red pepper flakes, optional
13 - Salt and freshly ground black pepper to taste
→ Garnish
14 - 2 tablespoons fresh parsley, chopped
15 - Lemon wedges, optional for serving
# Steps:
01 - Heat olive oil in a large soup pot over medium heat. Add onion, carrots, and celery. Cook for 6 to 7 minutes, stirring occasionally, until vegetables are softened and translucent.
02 - Stir in minced garlic and cook for 1 minute until fragrant, stirring constantly to prevent browning.
03 - Add cannellini beans, vegetable broth, thyme, rosemary, bay leaf, red pepper flakes if using, salt, and pepper. Bring mixture to a gentle simmer.
04 - Simmer uncovered for 20 minutes, stirring occasionally to ensure even cooking and flavor distribution.
05 - Remove and discard the bay leaf from the soup.
06 - Using a potato masher or the back of a spoon, gently mash some of the beans directly in the pot to release their starches and thicken the soup slightly while maintaining a chunky consistency.
07 - Stir in chopped spinach and cook for 2 to 3 minutes until wilted and vibrant green, stirring gently.
08 - Taste the soup and adjust salt, pepper, and red pepper flakes as needed for optimal flavor balance.
09 - Ladle soup into bowls and garnish with fresh parsley and a squeeze of lemon juice if desired.