Quick Recipe Version (TL;DR)
Quick Ingredients
- 3 tbsp extra-virgin olive oil
- 1 medium yellow onion, finely chopped
- 2 medium carrots, diced
- 2 celery ribs, diced
- 4 garlic cloves, minced
- 2 tbsp tomato paste
- 1 can (14.5 oz) diced tomatoes
- 2 cans (15 oz each) cannellini beans, drained and rinsed
- 4 cups vegetable or chicken broth (low-sodium)
- 1 bunch Tuscan kale (lacinato), stems removed, chopped
- 2 tsp fresh rosemary, finely chopped (or 1 tsp dried)
- 1 tsp fresh thyme leaves (or 1/2 tsp dried)
- 1 bay leaf
- 3/4–1 1/4 tsp kosher salt, to taste
- 1/2 tsp freshly ground black pepper
- Optional: Parmesan rind while simmering, grated Parmesan and lemon juice for serving
- Crusty bread, for serving
Do This
- 1. Warm olive oil in a heavy pot over medium heat. Sauté onion, carrots, and celery with a pinch of salt for 8–10 minutes until softened and lightly golden.
- 2. Stir in garlic, tomato paste, rosemary, thyme, and a pinch of red pepper flakes if you like heat. Cook 1–2 minutes until fragrant and deep red.
- 3. Add diced tomatoes, beans, broth, bay leaf, and Parmesan rind if using. Bring to a gentle boil, then reduce to a steady simmer.
- 4. Simmer uncovered on medium-low for 25–30 minutes, stirring occasionally and lightly mashing some beans with the back of a spoon to thicken.
- 5. Stir in chopped kale and simmer 5–10 minutes more until tender but still vibrant green. Remove bay leaf (and Parmesan rind).
- 6. Taste and season with salt, pepper, and a squeeze of lemon if desired. Serve hot with a drizzle of olive oil, grated Parmesan, and plenty of crusty bread.
Why You’ll Love This Recipe
- Deep, savory Tuscan flavor from slowly simmered beans, tomatoes, and fresh rosemary.
- Thick, hearty texture that feels cozy and satisfying, especially with crusty bread for dipping.
- Uses simple pantry staples plus a few fresh ingredients you can find anywhere.
- Easy to make ahead, perfect for weeknight dinners, meal prep, or feeding a small crowd.
Grocery List
- Produce: Yellow onion, carrots, celery, garlic, Tuscan kale (lacinato), lemon (optional), fresh rosemary, fresh thyme, fresh parsley (optional for garnish).
- Dairy: Parmesan rind (optional), Parmesan cheese for serving (optional).
- Pantry: Extra-virgin olive oil, tomato paste, canned diced tomatoes, canned cannellini beans, vegetable or chicken broth (low-sodium), bay leaf, kosher salt, black pepper, red pepper flakes (optional), crusty bread.
Full Ingredients
For the Rustic Tuscan White Bean Stew
- 3 tbsp extra-virgin olive oil
- 1 medium yellow onion, finely chopped (about 1 cup)
- 2 medium carrots, diced small (about 1 cup)
- 2 celery ribs, diced small (about 3/4 cup)
- 4 garlic cloves, minced
- 2 tbsp tomato paste
- 1/4 tsp crushed red pepper flakes (optional, for gentle heat)
- 1 can (14.5 oz / about 400 g) diced tomatoes, with juices
- 2 cans (15 oz / about 425 g each) cannellini beans, drained and rinsed
- or 3 cups cooked cannellini beans
- 4 cups (960 ml) low-sodium vegetable or chicken broth
- 1 bay leaf
- 2 tsp fresh rosemary, finely chopped
- or 1 tsp dried rosemary, crumbled
- 1 tsp fresh thyme leaves, chopped
- or 1/2 tsp dried thyme
- 1 Parmesan rind (optional, for extra richness)
- 1 bunch Tuscan kale (lacinato), stems removed and leaves chopped (about 8 oz / 225 g)
- 3/4–1 1/4 tsp kosher salt, or to taste
- 1/2 tsp freshly ground black pepper, or to taste
For Serving
- Crusty bread (such as sourdough or ciabatta), sliced and warmed or toasted
- Extra-virgin olive oil, for drizzling
- Freshly grated Parmesan cheese (optional)
- Fresh parsley or extra rosemary, finely chopped (optional garnish)
- Lemon wedges, for squeezing over the stew (optional but brightens the flavors)

Step-by-Step Instructions
Step 1: Prep your vegetables and aromatics
Start by preparing all of your ingredients so cooking is relaxed and enjoyable. Finely chop the onion, dice the carrots and celery into small, even pieces, and mince the garlic. Strip the kale leaves from the tough central stems, discard the stems, and roughly chop the leaves into bite-size pieces. Finely chop the fresh rosemary and thyme if using fresh herbs.
Drain and rinse the cannellini beans if using canned. Have your broth, tomatoes, tomato paste, and seasonings ready nearby. This ten minutes of prep makes the cooking process smooth and helps everything cook evenly.
Step 2: Build a flavorful soffritto base
Place a heavy-bottomed pot or Dutch oven (4–5 quart capacity) over medium heat. Add the 3 tablespoons of olive oil and let it warm for about 30 seconds. Add the chopped onion, carrots, and celery along with a pinch of salt. Cook, stirring occasionally, for 8–10 minutes, until the vegetables are softened and beginning to turn lightly golden around the edges.
This classic Italian vegetable base, known as soffritto, is what gives the stew its deep, savory flavor. Keep the heat at medium so the vegetables slowly sweeten rather than brown too quickly; if they start to color too fast, reduce the heat slightly.
Step 3: Add garlic, tomato paste, and herbs
Stir in the minced garlic, tomato paste, chopped rosemary, thyme, and crushed red pepper flakes if using. Cook, stirring constantly, for 1–2 minutes. The tomato paste should darken slightly in color, and the mixture will become very fragrant.
Lightly toasting the tomato paste and herbs in the oil wakes up their flavors and helps develop a richer base for the stew. Be careful not to let the garlic burn; if it begins to brown too quickly, lower the heat.
Step 4: Add tomatoes, beans, and broth
Pour in the can of diced tomatoes with all their juices and stir to combine, scraping up any bits stuck to the bottom of the pot. Add the cannellini beans, broth, bay leaf, and Parmesan rind if you are using one. Stir well.
Increase the heat to medium-high and bring the mixture just up to a gentle boil. As soon as it reaches a boil, reduce the heat to medium-low so the stew is at a steady simmer with small, occasional bubbles breaking the surface. This controlled simmer keeps the beans intact while letting the flavors mingle.
Step 5: Simmer until thick and hearty
Simmer the stew uncovered for 25–30 minutes, stirring every few minutes so nothing sticks on the bottom. As it cooks, use the back of a wooden spoon to lightly mash some of the beans against the side of the pot. This helps naturally thicken the broth into a silky, stew-like consistency.
Taste a spoonful of the broth about halfway through and add a small pinch of salt if it tastes flat, keeping in mind you will season more at the end. By the end of this simmer, the stew should have reduced slightly, the flavors will be deeper, and the broth will look more creamy and opaque from the mashed beans.
Step 6: Add kale and finish cooking
Once the stew is thickened and flavorful, stir in the chopped Tuscan kale. It may look like a lot at first, but the kale will wilt down significantly. Continue to simmer the stew for another 5–10 minutes, stirring occasionally, until the kale is tender but still a rich, vibrant green.
Fish out and discard the bay leaf and Parmesan rind if used. Taste the stew and season with 3/4–1 1/4 teaspoons kosher salt (depending on how salty your broth and Parmesan are) and about 1/2 teaspoon freshly ground black pepper. If the flavors taste a bit heavy or you want more brightness, squeeze in 1–2 teaspoons of fresh lemon juice and stir.
Step 7: Serve with crusty bread and garnishes
Ladle the hot stew into warm bowls. Drizzle each serving with a little extra-virgin olive oil for richness and shine. Sprinkle with freshly grated Parmesan and a pinch of chopped parsley or rosemary if you like.
Serve immediately with plenty of crusty bread on the side for dipping and scooping. For an extra Tuscan touch, lightly toast the bread and rub it with a cut garlic clove before serving. The stew should be thick, hearty, and full of tender beans, silky kale, and a fragrant tomato-herb broth.
Pro Tips
- Use a heavy pot: A Dutch oven or other heavy-bottomed pot helps the stew cook gently and evenly without scorching on the bottom.
- Adjust thickness to taste: For a thicker, almost “stoup”-like texture, mash more beans and simmer a few extra minutes. For a looser stew, add a splash more broth or water.
- Layer your seasoning: Add a small pinch of salt while sautéing the vegetables, then adjust again after simmering and after adding the kale. This builds deeper flavor than salting only at the end.
- Do not skip the simmer time: The 25–30 minute uncovered simmer is where the magic happens—herbs mellow, beans absorb flavor, and the broth turns creamy.
- Parmesan rind bonus: If you have a Parmesan rind, use it. It adds a subtle, nutty depth and extra body to the stew with no extra effort.
Variations
- Smoky pancetta version: Gently cook 3–4 ounces diced pancetta in the pot with 1 tablespoon of the olive oil until lightly crisp. Remove some for garnish if you like, then build the stew in the rendered fat for a smoky, rich flavor.
- Vegetable-packed: Add a diced fennel bulb with the carrots and celery, or stir in 1 cup of diced zucchini during the last 10 minutes of cooking for extra vegetables.
- Spelt or farro Tuscan-style: Add 1/2 cup rinsed pearled farro or spelt with the beans and broth. You may need to add an extra 1 cup of broth and simmer an additional 10–15 minutes until the grains are tender.
Storage & Make-Ahead
Let the stew cool to room temperature, then transfer it to airtight containers. Refrigerate for up to 4 days. The flavors will deepen and improve as it rests, making this an excellent make-ahead meal. To reheat, warm gently on the stovetop over medium-low heat, adding a splash of water or broth if it has thickened too much, and adjust seasoning with a pinch of salt or a squeeze of lemon.
For longer storage, freeze in airtight, freezer-safe containers for up to 3 months. Thaw overnight in the refrigerator, then reheat on the stovetop. The kale may soften a bit more after freezing but will still taste delicious.
Nutrition (per serving)
Approximate values for 1 of 4 servings (without bread, and without added Parmesan on top): about 360 calories; 14 g fat; 2 g saturated fat; 48 g carbohydrates; 13 g fiber; 6 g sugar; 15 g protein; 900 mg sodium (will vary depending on broth, added salt, and Parmesan). Serving with crusty bread and cheese will increase calories, carbohydrates, sodium, and protein.

