This cozy Tuscan White Bean Soup with Meatballs is packed with turkey–sausage meatballs, white beans, and veggies—high in protein and fiber and perfect for meal prep.

Tuscan White Bean Meatball Soup
I’ve been getting so many requests for more high-fiber meals, and this cozy Tuscan White Bean Soup with Meatballs went through a few tests to get it just right. I tried boosting the fiber in the meatballs with oat flour, but they turned out a little too soft, so I went back to breadcrumbs and focused on building flavor instead—using fresh ground turkey, adding sausage, and finishing the soup with hearty collard greens instead of kale. The result is a high-protein, high-fiber soup made with white beans, lots of veggies, and tender meatballs that hold together beautifully and freeze well for busy weeks.
Ingredients You’ll Need
Below are the ingredients for the turkey and chicken meatballs and white bean soup. See the recipe card below for the exact measurements.
Meatballs
- Protein: Use half 93% lean ground turkey and sweet Italian chicken sausage, which adds lots of extra flavor.
- Binders: One large egg and Italian-seasoned breadcrumbs.
- Aromatics: Finely chopped onion and garlic
- Fresh Herbs: Sage and parsley
- Seasoning: Salt and black pepper
Tuscan Soup
- Olive oil for sauteing the vegetables
- Vegetables: Carrots, celery, onion
- Flavor Boosters: Minced garlic, fresh thyme and sage, a bay leaf, and kosher salt.
- Unsalted Broth: I’ve been using chicken bone broth lately to easily increase the protein content. However, regular chicken broth will also work.
- Beans: Drain and rinse the canned cannellini beans.
- Leafy Greens: Collard greens or flat-leaf kale (also called lacinato or dinosaur kale). To remove the stems, hold the leaf upside down and run your hand down the stem to pull off the leaves.
- Optional for Serving: Lemon juice or grated Parmesan
How to Make Tuscan White Bean Soup
Browning the meatballs first enhances their flavor and texture. However, if you’re in a rush, you can simply simmer them in the broth until they’re cooked through in the middle. See the recipe card at the bottom for printable instructions.



- Blend a can of beans with 1 cup of broth. This mixture will make the soup creamy and thick without adding any dairy. Plus, it boosts the fiber and protein.
- Make the meatballs: Combine all the meatball ingredients in a bowl. Be careful not to overmix so the meatballs stay tender. Form the mixture into 24 small meatballs and place them on a parchment-lined plate.
- Brown the meatballs on all sides in a large soup pot over medium heat. Transfer them to a plate.
- Cook the veggies: Sauté the carrots, celery, and onion over medium-low heat until they are softened. Then, add the garlic and herbs.
- Boil and simmer: Add the remaining broth, meatballs, pureed and whole beans, salt, and pepper. Increase the heat to high and bring to a boil. Then, reduce the heat to low and simmer, covered, for 10 minutes. Add the greens and continue cooking until the meatballs are done and the vegetables are tender.



Variations
- Save time: Instead of shaping the meat mixture into meatballs, just mix all the ingredients and cook it like ground turkey. Enjoy all the great flavors with much less effort!
- Protein options: Substitute ground turkey with chicken and Italian chicken sausage with turkey. If you want it a little spicy, use spicy Italian sausage.
- Use just 1 meat: Keep it simple and use 1 pound of ground turkey or 1 pound of sausage. If you don’t use any Italian sausage, increase the kosher salt to 1 teaspoon.
- Egg allergy? You can substitute a flax egg or just leave it out, especially if you’re not shaping the mixture into meatballs.
- Vegetarian Tuscan white bean soup: Skip the meatballs and add an extra can of beans, or sauté some mushrooms with the other vegetables.
- Adjust the salt: If your broth contains salt, decrease the kosher salt or omit it if needed. Just taste the soup and add a little at a time.
- Experiment with herbs: Use chives, rosemary, oregano, or basil if you’re missing any fresh herbs. You can also use dried herbs if you prefer.
- White beans: Replace Cannellini beans with Great Northern or navy beans.
- Make it cheesier: Throw in a Parmesan rind while the soup simmers.
Storage
- Refrigerate the white bean soup for up to 4 days.
- Freeze it in glass containers for up to 3 months.
- Thaw in the fridge the day before, and reheat in the microwave or on the stove.

More Italian Soups You’ll Love
For more dinner ideas, check out my Soups Recipes collection, plus these five delicious Italian soup recipes to inspire your next meal!
Yield: servings
Serving Size: 1 1/2 cups
For Soup
- 1 tablespoon olive oil
- 2 large carrots, peeled and sliced
- 2 celery ribs, sliced
- 1 medium yellow onion, chopped
- 3 garlic cloves, finely minced
- 1 tablespoon fresh thyme, chopped
- 1 tablespoon fresh sage, chopped
- 1 bay leaf
- 6 cups chicken bone broth, unsalted (or regular broth) divided
- 2 15-ounce cans white beans, such as cannellini or navy beans, drained and rinsed, divided
- 4 cups collard greens, or flat leaf kale, thinly sliced (remove stems)
- 1-½ teaspoons kosher salt, use less if your bone broth has salt, or to taste
- fresh lemon juice OR Parmesan, for serving (optional)
-
Blend 1 can of the beans with 1 cup of the broth.
-
In a large bowl, combine the ground sausage, ground turkey, egg, breadcrumbs, onion, garlic, sage, parsley, salt, and black pepper. Mix gently until just combined—avoid over mixing to keep the meatballs tender.
-
Form meatballs, roll the mixture into 24 small meatballs (about 1–1.5 inches). *See note below for lazy way to make them
-
Heat a large heavy nonstick soup pot or Dutch oven over medium heat and lightly spray the skillet with oil. Add the meatballs and brown them on all sides (they do not need to be fully cooked through). Remove and set aside.
-
Add 1 tablespoon of olive oil, carrots, celery, and onions and reduce heat to medium-low. Cook about 5 to 8 minutes, stirring occasionally, until softened. Add the garlic, thyme, sage, and bay leaf. Cook 1 minute until fragrant.
-
Add the remaining chicken broth, meatballs, pureed and whole beans, salt and pepper and bring to a boil over high heat. Once boiling, reduce the heat to a simmer, cover and cook for 10 minutes. Add in the collard greens and simmer for an additional 10-12 minutes, until the meatballs are cooked through and the vegetables are tender.
-
Ladle the soup into bowls. Add an optional squeeze of lemon or parmesan, and some crusty bread on the side.
Last Step:
Please leave a rating and comment letting us know how you liked this recipe! This helps our business to thrive and continue providing free, high-quality recipes for you.
*Lazy Way: Don’t form the meatballs, just saute them until crumbled and set aside.
Serving: 1 1/2 cups, Calories: 308 kcal, Carbohydrates: 28 g, Protein: 27.5 g, Fat: 10 g, Saturated Fat: 2.5 g, Cholesterol: 75 mg, Sodium: 800 mg, Fiber: 10 g, Sugar: 5 g




