This is the kind of soup I make when I want something straightforward, honest, and deeply comforting. It’s built on sturdy vegetables, creamy cannellini beans, and the salty depth of Parmesan. No fuss, just steady simmering and a few smart choices that add layers of flavor.
It travels well between seasons — hearty enough for a crisp evening, but still bright with zucchini and greens in warmer months. The recipe scales nicely and lives in a single pot, which means less cleanup and more time to enjoy the meal with people you love.
Below you’ll find the ingredients, the exact step-by-step build, sensible swaps, and storage notes so you can make this soup reliably every time. I’ve tested this version until the balance felt right: savory, a touch sweet, and fully satisfying.
The Ingredient Lineup

Ingredients
- 2 tablespoons olive oil — for sautéing the aromatics and beginning the flavor base.
- 1 large onion, finely chopped — sweetness and body; sweat it until soft.
- 2 tablespoons chopped fresh thyme — herb note that stands up to long simmering.
- 4 medium garlic cloves, minced — brightens and deepens the savory profile.
- ¼ head green cabbage, cut into ½-inch pieces — adds texture and a gentle vegetal sweetness.
- 4 stalks celery, cut into ½-inch pieces — classic mirepoix element for backbone and aroma.
- 3 large carrots, cut into ½-inch pieces — natural sweetness and color.
- 10 cups chicken broth — the primary liquid; use a good-quality stock for best results.
- 2 medium potatoes, cut into ½-inch pieces — give body and a creamy mouthfeel after simmering.
- Parmesan cheese rind (optional) — slip it into the pot while simmering for umami and richness.
- Two 15.5-ounce cans cannellini beans, rinsed and drained — protein and creaminess; rinsing removes excess sodium.
- One 14.5-ounce can chopped tomatoes, with juices — brightness and acidity to balance the broth.
- 2 cups chopped kale or spinach — greens for color, nutrients, and a pleasant bite.
- 4 medium zucchini, cut into ½-inch pieces — freshness and tender texture when simmered briefly.
- 1 teaspoon salt — baseline seasoning; start here and adjust at the end.
- 1 teaspoon granulated white sugar — tames tomato acidity and harmonizes flavors.
- 1 cup (about 3 ounces) grated fresh Parmesan cheese — folded in at the end for creaminess and savory finish.
- ½ cup chopped fresh basil — stirred in off heat to preserve bright aroma and color.
- freshly ground black pepper and olive oil, for serving (optional) — finishing touches: pepper for bite, olive oil for silkiness.
Build Tuscan Vegetable Soup with White Beans and Parmesan Step by Step
- Heat 2 tablespoons olive oil in a large pot over medium heat. Add the finely chopped onion, 2 tablespoons chopped fresh thyme, and the minced garlic; sauté until the onion is softened, about 5 minutes.
- Add the chopped cabbage, celery, and carrots to the pot. Sauté, stirring occasionally, until they begin to soften, about 10 minutes.
- Add 10 cups chicken broth and the 2 medium potatoes (cut into ½-inch pieces). Add the Parmesan cheese rind, if using. Increase heat and bring the soup to a boil.
- Once boiling, reduce the heat to low, cover the pot, and simmer for 1 hour, stirring occasionally.
- After 1 hour, add the two 15.5-ounce cans cannellini beans (rinsed and drained), the one 14.5-ounce can chopped tomatoes with juices, 2 cups chopped kale or spinach, the 4 medium zucchini (cut into ½-inch pieces), 1 teaspoon salt, and 1 teaspoon granulated white sugar. Stir to combine.
- Cover and simmer until the added vegetables are tender, about 20 minutes.
- Remove the pot from the heat. Stir in 1 cup (about 3 ounces) grated fresh Parmesan cheese and ½ cup chopped fresh basil until the cheese is melted and the basil is incorporated.
- Taste and adjust seasoning with freshly ground black pepper (and more salt if needed). Divide the soup among bowls and, if desired, finish each serving with a drizzle of olive oil and an extra sprinkle of grated Parmesan.
Why This Recipe Belongs in Your Rotation

This soup is efficient and forgiving. It uses pantry-friendly staples — canned beans and tomatoes — and stretches them into a filling, nutritious pot. Simmering everything together gives the broth a layered, mellow depth without constant babysitting. You can serve it for a weeknight dinner or batch-cook it for lunches.
It’s inexpensive, adaptable, and satisfying. Vegetables provide texture and variation; the beans bring protein; Parmesan adds fat and umami. Little effort, big return.
Flavor-Forward Alternatives

- Make it veggie-forward: Swap the chicken broth for a robust vegetable broth if you prefer vegetarian; the soup will still be flavorful, especially with the Parmesan rind (omit if you want fully vegetarian).
- Smokier finish: Add a thinly sliced smoked sausage at Step 1 or finish with a pinch of smoked paprika. This skews the profile but keeps the base intact.
- Herb variations: If thyme isn’t on hand, use rosemary (sparingly) or a bay leaf during the long simmer in place of some thyme.
- Leafy green options: Kale adds chew and structure; spinach wilts faster and makes the soup brighter. Choose based on texture preference.
Toolbox for This Recipe
- Large, heavy-bottomed pot or Dutch oven: Holds heat evenly for a steady simmer and prevents scorching.
- Serrated or chef’s knife and sturdy cutting board: You’ll be chopping several vegetables; a sharp knife speeds the work and improves safety.
- Wooden spoon or heatproof spatula: For stirring and scraping up any fond at the bottom.
- Ladle: For serving with minimal mess.
Common Errors (and Fixes)
Bland broth
Fix: Taste and adjust salt late in the process. The recipe starts with 1 teaspoon salt; depending on your broth’s sodium level, you may need more. Freshly grated Parmesan stirred in at the end also boosts savoriness.
Mushy vegetables
Fix: Cut vegetables to consistent sizes and follow the timing. Potatoes simmer for the long stretch; zucchini and greens are added later to prevent overcooking. If your zucchini is too soft, reduce the final simmer by a few minutes next time.
Soup lacks body
Fix: Mash a small portion of the beans against the pot or let a couple of potatoes break down during the long simmer. That releases starch and thickens the broth naturally.
Warm & Cool Weather Spins
Warm weather: Make the final basil addition generous and serve the soup at a slightly cooler, room temperature. Add a squeeze of lemon or a splash of red wine vinegar right before serving to brighten the bowl.
Cool weather: Serve piping hot with an extra shower of Parmesan and a drizzle of olive oil. Add a piece of crusty bread or a simple grilled cheese and this becomes a full, comforting meal.
Chef’s Rationale

I built this soup around a few principles: straightforward technique, texture contrast, and layered umami. The long simmer with the Parmesan rind and potatoes creates a rounded broth without added cream. The late addition of zucchini and greens preserves their character. Finally, folding in grated Parmesan and fresh basil at the end heightens richness and aromatics without compromising the soup’s bright notes.
The result is a well-balanced bowl that reads both rustic and refined. It’s adaptable by design: swap a few herbs, change the greens, and you’ll still end up with a comforting, complete meal.
Make-Ahead & Storage
Refrigerate: Cool the soup to room temperature, then transfer to airtight containers. It keeps well for 3–4 days. The flavors develop further after a day; just reheat gently on the stove.
Freeze: This soup freezes well for up to 3 months. Leave out the fresh basil when freezing — add it fresh when reheating. Thaw overnight in the fridge before reheating. If the broth thickens after freezing, stir in a splash of water or broth while warming.
Reheating: Warm gently over medium-low heat to avoid breaking down the zucchini and greens further. Stir occasionally and sprinkle in a little extra grated Parmesan when hot to revive the creamy finish.
Reader Q&A
Can I use dried thyme instead of fresh?
Yes. Use about one-third of the amount (around 2 teaspoons dried) and add it with the first sauté so it has time to bloom.
Is there a good substitute for the Parmesan rind?
If you don’t have a rind, increase the grated Parmesan by a few tablespoons during the final stir-in. The rind adds subtle depth during the long simmer, but the final cheese still brings needed savory richness.
Can I make this vegan?
Yes: Use a high-quality vegetable broth and omit the Parmesan or replace it with a vegan hard-cheese alternative. If omitting the rind and cheese, add a touch more salt and a splash of nutritional yeast for umami.
How can I thicken the soup without changing flavor?
Mash a cup of the beans against the side of the pot and stir them back in, or allow one more potato to break down during simmering. Both add body without new flavors.
Ready to Cook?
Gather the ingredients and start with the aromatics. The longest part is a patient simmer that rewards you with a deep, comforting broth. Follow the steps, taste as you go, and don’t skip the final addition of Parmesan and basil — they’re the finishing notes that bring the whole pot together.
Make a batch this week. Share it with a friend or tuck portions into the fridge for easy lunches. It’s reliable, adaptable, and exactly the kind of recipe that earns a permanent spot in the rotation.

Tuscan Vegetable Soup with White Beans and Parmesan
Equipment
- Large Pot
- Knife
- Cutting Board
- Wooden Spoon
Ingredients
Ingredients
- 2 tablespoonsolive oil
- 1 largeonion finely chopped
- 2 tablespoonschopped fresh thyme
- 4 mediumgarlic cloves minced
- 1/4 headgreen cabbage cut into 1/2-inch pieces
- 4 stalkscelery cut into 1/2-inch pieces
- 3 largecarrots cut into 1/2-inch pieces
- 10 cupschicken broth
- 2 mediumpotatoes cut into 1/2-inch pieces
- Parmesan cheese rind optional
- Two15.5-ounce canscannellini beans rinsed and drained
- One14.5-ounce canchopped tomatoes with juices
- 2 cupschopped kale or spinach
- 4 mediumzucchini cut into 1/2-inch pieces
- 1 teaspoonsalt
- 1 teaspoongranulated white sugar
- 1 cup about 3-ouncesgrated fresh Parmesan cheese
- 1/2 cupchopped fresh basil
- freshly ground black pepper and olive oil for serving (optional)
Instructions
Instructions
- Heat 2 tablespoons olive oil in a large pot over medium heat. Add the finely chopped onion, 2 tablespoons chopped fresh thyme, and the minced garlic; sauté until the onion is softened, about 5 minutes.
- Add the chopped cabbage, celery, and carrots to the pot. Sauté, stirring occasionally, until they begin to soften, about 10 minutes.
- Add 10 cups chicken broth and the 2 medium potatoes (cut into ½-inch pieces). Add the Parmesan cheese rind, if using. Increase heat and bring the soup to a boil.
- Once boiling, reduce the heat to low, cover the pot, and simmer for 1 hour, stirring occasionally.
- After 1 hour, add the two 15.5-ounce cans cannellini beans (rinsed and drained), the one 14.5-ounce can chopped tomatoes with juices, 2 cups chopped kale or spinach, the 4 medium zucchini (cut into ½-inch pieces), 1 teaspoon salt, and 1 teaspoon granulated white sugar. Stir to combine.
- Cover and simmer until the added vegetables are tender, about 20 minutes.
- Remove the pot from the heat. Stir in 1 cup (about 3 ounces) grated fresh Parmesan cheese and ½ cup chopped fresh basil until the cheese is melted and the basil is incorporated.
- Taste and adjust seasoning with freshly ground black pepper (and more salt if needed). Divide the soup among bowls and, if desired, finish each serving with a drizzle of olive oil and an extra sprinkle of grated Parmesan.
Notes
If preparing this recipe as vegetarian, use vegetable broth in place of chicken broth.
