# What You Need:
→ Vegetables
01 - 2 tablespoons olive oil
02 - 1 medium onion, finely chopped
03 - 2 celery stalks, finely chopped
04 - 2 medium carrots, peeled and diced
05 - 2 cloves garlic, minced
→ Beans & Liquid
06 - 2 cans (15 ounces each) cannellini beans, drained and rinsed
07 - 4 cups vegetable stock
08 - 1 bay leaf
→ Dairy & Seasoning
09 - 1/2 cup freshly grated Parmesan cheese, plus more for serving
10 - 1/2 teaspoon salt, or to taste
11 - 1/4 teaspoon freshly ground black pepper
12 - 1/4 teaspoon dried thyme
13 - 1/2 cup heavy cream, optional
→ Garnish
14 - Chopped fresh parsley, optional
# Step-by-Step:
01 - Heat olive oil in a large pot over medium heat. Add onion, celery, and carrots, sautéing for 6 to 8 minutes until vegetables soften.
02 - Stir in minced garlic and cook for 1 minute until fragrant.
03 - Add drained beans, vegetable stock, bay leaf, thyme, salt, and pepper. Bring mixture to a simmer.
04 - Reduce heat to low, cover pot, and simmer for 20 minutes.
05 - Remove bay leaf. Using an immersion blender, purée soup until smooth and creamy, or transfer in batches to a blender.
06 - Stir in grated Parmesan cheese and heavy cream if using. Heat gently until cheese melts and soup reaches serving temperature. Adjust seasoning to taste.
07 - Ladle soup into bowls. Top with additional Parmesan and fresh parsley if desired. Serve while hot.