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!
Tuscan White Bean Soup with Meatballs

Equipment
- large Dutch oven or heavy nonstick soup pot
Ingredients
For meatballs
- ½ pound 93% lean ground turkey
- ½ pound sweet chicken Italian sausage , removed from casing
- 1 large egg
- ⅓ cup seasoned breadcrumbs, or gluten-free breadcrumbs
- ½ small onion, finely chopped
- 2 garlic cloves, finely chopped
- 1 tablespoon fresh sage, finely chopped
- 2 tablespoons fresh parsley, finely chopped
- ½ teaspoon kosher salt, and fresh black pepper
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)
Instructions
- 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.









I’ve made this soup with and without meatballs and it’s delicious!
This sounds and looks amazing! I’m having a baby in a few weeks and doing some freezer meal prepping! How do you recommend freezing this?
Congrats! Freeze it in glass containers for up to 3 months.
I have been a huge fan of Skinnytaste’s recipes for years, so I am shocked I haven’t made this gem of a soup before! (I thought my picky teens wouldn’t care for it, but surprise— they devoured it!)
I only had partial cans of 3 different beans, (chickpeas, black, and Romano), so I decided to blend the first two and added the Romano to the soup. I also subbed dried herbs for the fresh. It was outstanding! I wish I doubled the recipe!!
Turned out amazing! I used only ground beef and omitted celery. Serving with fresh lemon and parmesan helped balance all the flavors. Will make this again!
Glad you enjoyed it!
My new favorite. I did the lazy way and just browned the meat and use spinach for the greens. So good!
This is delicious and filling. I took a shortcut and used chicken meatballs but it didn’t seem to effect the outcome. I added a parmesan rind and used a quality chicken bone broth. Added lots of kale. Looking forward to leftovers.
When doubling the recipe do you still only use one can beans blended into one cup of broth?
If I use baby spinach do I use same amount as kale, and should I do anything different?
Same amount
This was outstanding! You’ve got to try this recipe! I made the meatballs, and they were so full of flavor. Based on another reviewer, I baked the meatballs instead of frying them, and then added them to the soup. Otherwise I followed this recipe to a T (doubling it). This will go into our rotation. It was so delicious! Thank you Gina!
Delicious! Would definitely make again. Two things I would have done differently: added beans at the last few minutes, as they got too mushy for my preference. Also, bake the meatballs instead of pan frying.
So delicious! Very filling with complex flavor. My new favorite! Used spinach since I had that on hand.
How do you feel about baking the meatballs instead of browning in the pan? Would this diminish the soup flavor too much?
Fine!
I was excited to love this – but can’t figure out why I’m in the minority. I thought the broth was underdevloped and watery even though I didn’t skip the puree step. The meatballs tasted like diet food- and I had a million of them. The lack of moisture and flavor from a fattier meat like pork or beef was really noticeable. There was flavor but it was muted and dimensional. I doubled the recipe and I wonder the proportions turned out wrong? The prep time was super inaccurate too. I spent at least 40 minutes if not an hour. And then spent an hour trying to get the soup base to develop more flavor.
Not sure if you made a mistake when doubling as this has decent reviews?
If you used ground turkey breast, it would be too lean making them dry. Also, it’s possible you needed to add more salt.
So good! I was pressed for time so I didn’t make the meatballs. I used chicken sausage and cut it up. I also had a bag of frozen kale I needed to use. Delicious! Thanks for the recipe!!! I’ll be making it again!
Can this be slow cooked after the meatballs are browned? We love the taste of slow cooked meat and logistically it is a lot easier for us if it is done in the morning. Thanks!
So many delicious flavors! We will definitely make this recipe again!
Great soup! Very adaptable!
I made this recipe the lazy way, without making the meatballs and just cooking the meatball mixture like ground turkey. I also only used the Italian-flavored ground turkey. I added the ground meat back to the pot after the cooking was complete, along with the greens. I was delicious, easy, and healthy. Will definitely make this again.
Been following this site for years and this is my favorite recipe yet! Takes some time to make but it’s well worth it- shared it with several of my friends! Made it exactly as instructed with no modifications, it’s DELICIOUS!!!!
Thanks Carrie!
So, I bastardized this recipe and it was STILL great! No sausage. TJs frozen meatballs. Dry thyme and sage. ❤️
Looks delicious. I plan to make it for dinner. I have a bunch of extra chickpeas to use up. Could I replace them with the white beans?
Yes but just know it will change the texture and flavor a little.
This was delicious! Didn’t make the meatballs and subbed 1 lb Italian sausage, plus 1 can diced tomatoes and escarole instead of kale. It was great! Will definitely make again.
Made it the lazy way and used regular stock and chopped kale… it was soooooo good! Definitely will be making it again!
Great soup! I thought this wouldn’t fill me up enough but the beans blended into the broth made this surprisingly filling. If I was in a rush next time I would go with the “lazy girl” method for the meatballs. The fresh herbs really add to the flavor.
Made this the lazy way and it was great! Ended up using a whole pound of turkey 93/7 and 8 oz of turkey sausage. Trader Joe’s has a chicken sausage that I do use but didn’t make it there this week. I also used a mixture of spinach and kale at the end and didn’t cook it for the additional 10min. Can’t wait to enjoy the leftovers for lunch this week!
This was delicious! Used spinach instead of kale and just used the turkey sausage/spices and didn’t make the meatballs. Easy and excellent flavor!
Delicious! A keeper for sure!
This is delicious! Made it with ground chicken instead of turkey and used kale instead of collards. So flavorful and comforting.
Absolutely delicious! Just made this for lunch today since a cold front came in, and it’s finally a little chilly here. Squeezed lemon in and it added a nice brightness to the soup.
Solid recipe. I went the lazy route and would do it every time, it cut some simmering time too. Delicious, comforting, great with a crusty bread. Love the high protein content!!
I made this today and ate it for lunch and dinner. Yummy.
Could you add black eyed peas in place of beans?
This was absolutely delicious! Definitely going in my rotation. Adding in blended beans is genius idea and really made the soup creamy and gave it so much body. Loved it!
That said, as someone who is pretty seasoned in the kitchen, I have to say that the stated prep time of 20 min is grossly underestimated. It took me double that time if not a little more. It’s just not a feasible estimate. And I LOVE Gina and her recipes (my diet is almost exclusively her recipes).
Glad you loved it, good to know I will adjust!
Delicious, fabulous, excellent soup! I used kale in place of the collards. I would make this for anyone.
So thrilled you loved it enough to make it for everyone!
I just made this! Thank you for another wonderful soup recipe.
Do you have a chicken sausage that is your favorite or recommend?
This sounds wonderful! What chicken sausage did you use for this?
This soup sounds amazing!!! One question – If I choose to do the “lazy way”, do I need to include the breadcrumbs and egg?
Yes, so it still tastes like a meatball.
I didn’t use the bread crumbs and I didn’t puree the one can of beans and it was still excellent! Let it sit on the stove for about an hour. Really ups the flavor
Gina..I haven’t used chicken sausage in forever. Is the a raw product and what brand do you recommend? BTW, this recipe just screams comfort food. Definitely on the “need to make” just.
Can the meatballs be cooked in an airfryer? If so, what would be the time and temp?
Sure I would find my meatball sub recipe for time and temp.
I don’t like Kale and where I live I’ve never seen collard greens. What else can I use instead?
Baby spinach is great. Cook it less time.