Minestrone is the soup that feeds everyone — the problem is that a classic version takes the better part of an afternoon. This one skips the wait. Small turkey meatballs go into the pot instead of hours of simmering beef or pancetta, and because they’re rolled tablespoon-size, they cook through in minutes — that’s what makes 30 minutes possible. The ditalini goes in dry, right along with them, so there’s exactly one pot to wash.

Why you’ll love it
- One pot, end to end. Meatballs browned, vegetables softened, pasta simmered — all in the same pot.
- Real Italian flavor, fast. Soffritto, garlic, crushed tomatoes, basil, and a Parmesan rind do the work that usually takes an afternoon.
- ~28g protein per serving (estimated), from turkey meatballs, white beans, and Parmesan.
- Built for weeknights. Eight minutes of prep, one simmer, dinner on the table.

Ingredients
- 1 1/4 lb ground turkey, 93% lean
- 1/3 cup Italian-seasoned breadcrumbs
- 1/4 cup grated Parmesan cheese, plus more for serving
- 1 large egg
- 2 cloves garlic, minced, divided — half in the meatball mix, half in the soffritto
- 2 tablespoons olive oil
- 1 medium yellow onion, diced
- 2 medium carrots, diced
- 2 stalks celery, diced
- 1 teaspoon Italian seasoning
- 1 (28 oz) can crushed tomatoes
- 6 cups low-sodium chicken broth
- 1 Parmesan rind, optional, but recommended
- 1 cup ditalini or small shells, uncooked
- 1 (15 oz) can cannellini beans, drained and rinsed
- 3 cups baby spinach
- 1/2 teaspoon kosher salt, plus more to taste
- 1/4 teaspoon black pepper
- 1/4 cup chopped fresh basil, plus more for serving


Equipment
A large Dutch oven or heavy pot (5–6 quart), a wooden spoon, and an instant-read thermometer.
Instructions
- Roll and brown the meatballs (6 minutes). Mix the turkey, breadcrumbs, Parmesan, egg, half the garlic, salt, and pepper; roll into 12 small meatballs, about 1 tablespoon each — the small size is the 30-minute enabler, since bite-size meatballs cook through fast. Heat the olive oil in a Dutch oven over medium-high heat and brown the meatballs on all sides, about 6 minutes. Remove to a plate.
- Soften the soffritto (4 minutes). Add the onion, carrots, and celery to the same pot; cook until softened, about 3–4 minutes. Stir in the remaining garlic and the Italian seasoning; cook 1 minute more, until fragrant.
- Add tomatoes and broth (1 minute). Pour in the crushed tomatoes and chicken broth, scraping up any browned bits. Add the Parmesan rind if using. Bring to a lively simmer.
- Simmer with the pasta (8 minutes). Stir in the uncooked ditalini and return the meatballs to the pot. Simmer, stirring occasionally, until the pasta is al dente and the meatballs are cooked through, about 8 minutes.
- Finish with beans and greens (2 minutes). Stir in the cannellini beans and spinach; cook 2 minutes, until the spinach wilts. Discard the Parmesan rind. Taste and add more salt if needed.
- Serve (1 minute). Ladle into bowls and finish with grated Parmesan, fresh basil, and a drizzle of olive oil.



Doneness cues: The meatballs must reach 165°F internally — the simmer guarantees it, but check one with an instant-read thermometer to be sure. The pasta is done when al dente; it keeps drinking broth as it sits, so serve promptly.


30-Minute Minestrone with Turkey Meatballs
Ingredients
Equipment
Method
- Mix the turkey, breadcrumbs, Parmesan, egg, half the garlic, salt, and pepper; roll into 12 small meatballs, about 1 tablespoon each — the small size is the 30-minute enabler, since bite-size meatballs cook through fast. Heat the olive oil in a Dutch oven over medium-high heat and brown the meatballs on all sides, about 6 minutes. Remove to a plate.
- Add the onion, carrots, and celery to the same pot; cook until softened, about 3–4 minutes. Stir in the remaining garlic and the Italian seasoning; cook 1 minute more, until fragrant.
- Pour in the crushed tomatoes and chicken broth, scraping up any browned bits. Add the Parmesan rind if using. Bring to a lively simmer.
- Stir in the uncooked ditalini and return the meatballs to the pot. Simmer, stirring occasionally, until the pasta is al dente and the meatballs are cooked through, about 8 minutes.
- Stir in the cannellini beans and spinach; cook 2 minutes, until the spinach wilts. Discard the Parmesan rind. Taste and add more salt if needed.
- Ladle into bowls and finish with grated Parmesan, fresh basil, and a drizzle of olive oil.
Notes
Nutrition note
Protein is estimated at about 28g per serving, calculated from USDA FoodData Central values for the listed ingredients — this is an estimate, not a lab analysis. Actual values vary by brand and preparation.
Substitutions and tips
- Ground chicken swaps in 1:1. Lean ground beef works too — brown it the same way.
- Greens: kale works in place of spinach — add it with the beans and give it 3–4 minutes to soften.
- Pasta: any small shape works — ditalini, small shells, orzo. Keep it to 1 cup dry so the broth-to-pasta ratio stays right.
- Make it vegetarian: skip the meatballs and stir in an extra can of cannellini beans plus 2 tablespoons of olive oil with the soffritto.
- No Parmesan rind? Skip it — the grated Parmesan stirred in at the end carries the flavor. The rind just adds a little extra depth.

Storage and reheating
Refrigerate leftovers within 2 hours in an airtight container for up to 4 days. The pasta keeps absorbing broth, so store extra broth separately if you have it, or splash in water when reheating. Reheat in a pot over medium heat, stirring, until steaming (165°F). Freezes well for up to 3 months — thaw overnight in the fridge. (For best texture, freeze the soup without the pasta and cook fresh pasta when reheating.)

Frequently asked questions
Can I use frozen meatballs instead? Yes — use about 12 small frozen turkey meatballs, skip step 1, and add them with the pasta in step 4. Give them an extra minute or two of simmering and check that they reach 165°F.
Will the pasta get mushy? Not if you serve promptly. Like any soup with pasta, the ditalini keeps absorbing broth as it sits. Leftovers are still delicious — just add a splash of water or broth when reheating.
Is this good for meal prep? Yes — it reheats well for lunches all week. Portion into containers and add a sprinkle of fresh Parmesan and basil when you serve.
Can I make it vegetarian? Easily — leave out the meatballs and add a second can of cannellini beans. The soup is already tomato-based with plenty of flavor from the soffritto and Parmesan rind.
What goes with minestrone? Crusty bread for dunking is the classic move. A simple green salad on the side turns it into a full spread.

More cozy one-pot soups
For another one-pot Italian classic, try our 30-Minute Tuscan White Bean Kale Soup. Craving more white-bean comfort? Our 30-Minute White Bean Turkey Chili is all one pot. If you like chicken and pasta in a bowl, 30-Minute One-Pot Chicken Rice Soup is another weeknight winner.