Creamy Tuscan Turkey Meatball Soup (Print Version)

Tender turkey meatballs in a rich garlic Parmesan broth with spinach and sun-dried tomatoes.

# Ingredient List:

→ Turkey Meatballs

01 - 1 pound ground turkey
02 - 1/3 cup breadcrumbs
03 - 1/4 cup grated Parmesan cheese
04 - 1 large egg
05 - 2 cloves garlic, minced
06 - 2 tablespoons fresh parsley, chopped
07 - 1/2 teaspoon dried oregano
08 - 1/2 teaspoon salt
09 - 1/4 teaspoon black pepper

→ Soup Base

10 - 2 tablespoons olive oil
11 - 1 medium yellow onion, finely chopped
12 - 3 cloves garlic, minced
13 - 5 cups low-sodium chicken broth
14 - 1 cup heavy cream
15 - 1/2 cup grated Parmesan cheese
16 - 1/2 cup sun-dried tomatoes in oil, drained and chopped
17 - 3 cups fresh baby spinach
18 - 1 teaspoon dried Italian herbs
19 - Salt and pepper to taste
20 - Fresh basil for garnish, optional

# How to Make:

01 - In a large bowl, combine ground turkey, breadcrumbs, Parmesan cheese, egg, minced garlic, parsley, oregano, salt, and black pepper. Mix until just combined and shape mixture into approximately 20 meatballs, each about 1 inch in diameter.
02 - Heat 1 tablespoon olive oil in a large pot or Dutch oven over medium heat. Working in batches to avoid overcrowding, add meatballs and brown on all sides for 4 to 5 minutes total. Meatballs do not need to be fully cooked at this stage. Remove and set aside.
03 - Add remaining 1 tablespoon olive oil to the same pot and sauté chopped onion until softened, approximately 4 minutes. Add minced garlic and cook for 1 additional minute.
04 - Pour chicken broth into the pot and bring to a simmer, scraping up any browned bits from the bottom with a wooden spoon to incorporate all flavors.
05 - Return browned meatballs to the pot along with sun-dried tomatoes and dried Italian herbs. Simmer uncovered for 12 to 15 minutes until meatballs are fully cooked through.
06 - Reduce heat to low. Stir in heavy cream and grated Parmesan cheese, stirring gently until combined. Simmer for 2 to 3 minutes until soup reaches a creamy consistency.
07 - Add fresh baby spinach to the pot, stirring until completely wilted, approximately 1 to 2 minutes. Adjust seasoning with salt and pepper to taste.
08 - Ladle soup into serving bowls and garnish with fresh basil and additional grated Parmesan cheese if desired.

# Expert Advice:

01 -
  • It's high in protein but tastes indulgent, so you get the comfort without the guilt afterward.
  • The meatballs stay tender because they're barely browned first, then finished gently in the broth instead of being cooked to death in a pan.
  • You can have it on the table in under an hour, which means weeknight dinners that feel special.
02 -
  • Don't skip browning the meatballs first—that golden crust adds a depth that simmering alone will never give you, even though it seems like an extra step.
  • Add the cream slowly over low heat or it can break and turn grainy, which I learned the hard way by getting impatient and cranking the heat.
  • Taste the broth before adding the spinach because once it goes in, seasoning becomes trickier, and salt levels can shift once the cream is in.
03 -
  • Fresh grated Parmesan melts smoother than pre-grated, so invest in a microplane and a wedge—the difference is subtle but real.
  • If your broth tastes too salty, a pinch of sugar and a squeeze of lemon juice can balance it out without making it taste sweet.
  • Browning the meatballs in batches is worth the extra time because crowding the pan means steaming instead of browning, which means missing half the flavor.
Go Back