America 250 Freedom anniversary
Italian Meatball Soup finished and ready to serve

Italian Meatball Soup

Quick Answer

Form small beef-Parmesan meatballs, soften onion, carrots, and celery, then simmer the meatballs in tomato broth until cooked through. Add pasta until al dente and finish with spinach, basil, and Parmesan.

Jump to Recipe

There is something deeply satisfying about a soup that has actual meatballs floating around in it. Not crumbles. Not “Italian-inspired protein.” Real little meatballs made from beef or sausage, breadcrumbs, Parmesan, egg, garlic, and Italian seasoning, simmered right in the broth with tomatoes, carrots, celery, onion, and oregano. Keep them small—about a tablespoon each—because the point is to get meatball, broth, pasta, and maybe a leaf of spinach onto the same spoon without needing civil engineering.

The meatballs cook uncovered in the simmering broth for 10 to 12 minutes and need to reach 165°F before the pasta goes in. Adding the pasta afterward matters because small shells or ditalini only need their normal package time; putting everything in at once would leave you negotiating between undercooked beef and pasta with the structural integrity of wallpaper paste.

Spinach goes in for the final minute, just long enough to wilt, and fresh basil plus extra Parmesan finish the bowl. The broth stays savory and tomato-rich, the vegetables keep it from feeling like a bowl of meatballs with witnesses, and the pasta gives it enough heft to count as dinner.

Prep20 minutes
Cook35 minutes
Total55 minutes
Serves4 servings
DifficultyEasy

Ingredients

Servings
  • 1 pound ground beef or Italian sausage
  • 1/2 cup Italian-style breadcrumbs
  • 1/4 cup grated Parmesan cheese, plus more for serving
  • 1 large egg
  • 2 cloves garlic, minced
  • 1 teaspoon Italian seasoning
  • 3/4 teaspoon salt, plus more to taste
  • 1/4 teaspoon black pepper
  • 1 tablespoon olive oil
  • 1 small onion, diced
  • 2 carrots, sliced
  • 2 celery stalks, sliced
  • 1 can (14.5 ounces) diced tomatoes
  • 6 cups beef or chicken broth
  • 1 teaspoon dried oregano
  • 1 cup small pasta, such as ditalini or small shells
  • 2 cups fresh baby spinach
  • Fresh basil, for garnish

Instructions

  1. 1In a large bowl, combine ground beef, breadcrumbs, Parmesan, egg, garlic, Italian seasoning, 1/4 teaspoon of the salt, and pepper. Mix gently just until combined. Shape into about 24 small meatballs, roughly 1 tablespoon each.
  2. 2Heat olive oil in a large pot over medium heat. Add the onion, carrots, and celery, and cook until softened, about 5 minutes.
  3. 3Add the diced tomatoes, broth, oregano, and remaining salt. Bring to a simmer.
  4. 4Carefully drop the meatballs into the simmering broth. Cook uncovered for 10 to 12 minutes, until the meatballs reach an internal temperature of 165°F.
  5. 5Add the pasta and cook according to package time, usually 8 to 10 minutes, until al dente.
  6. 6Stir in the spinach and cook just until wilted, about 1 minute. Taste and adjust salt as needed. Garnish with basil and extra Parmesan before serving.

Nutrition Information

Estimated per serving: 1 of 4 servings.

590Calories
35 gProtein
42 gCarbohydrates
32 gTotal Fat
11 gSaturated Fat
5 gFiber
8 gTotal Sugars
2030 mgSodium
140 mgCholesterol

Estimated from the ingredients and quantities in this recipe using standard food-composition values. Brand choices, trimming, cooking loss, optional ingredients, and actual portion size can change the numbers. How we calculate nutrition estimates.

Pro Tips

  • Keep the meatballs small, about 1 tablespoon each -- they cook through faster and more evenly in the simmering broth than larger meatballs.
  • Drop the meatballs in gently one at a time so they hold their shape instead of breaking apart in the hot liquid.
  • Add the pasta directly to the pot rather than cooking it separately -- it soaks up flavor from the broth as it cooks.

Substitutions

ground beef → ground turkey or Italian sausage, casings removed Use the same quantity; Italian sausage already has seasoning built in, so taste before adding extra salt.
small pasta → orzo or broken spaghetti Any small pasta shape that fits on a spoon works well.
fresh spinach → chopped kale or escarole Traditional Italian wedding soup often uses escarole; add it a minute earlier since it takes slightly longer to wilt.

Storage Instructions

Refrigerate in an airtight container up to 4 days; the pasta will absorb broth over time.

Freezing

The broth and meatballs freeze well without the pasta; add fresh pasta after thawing and reheating for the best texture.

Frequently Asked Questions

Can I make this ahead of time?

Shape the meatballs up to a day ahead and refrigerate raw, covered. Cook the broth base and add the meatballs and pasta fresh for the best texture.

How do I store the leftovers?

Refrigerate in an airtight container up to 4 days; the pasta will absorb broth over time.

Can I freeze it?

The broth and meatballs freeze well without the pasta; add fresh pasta after thawing and reheating for the best texture.

Can I substitute the ground beef?

Ground turkey or Italian sausage both work in place of ground beef; taste sausage-based versions before adding extra salt.

What's the most common mistake when making this soup?

Making the meatballs too large. Bigger meatballs take longer to cook through and can overcook the broth's vegetables and pasta in the process.

How long does it take?

About 45 minutes total -- 20 minutes to shape the meatballs, 25 minutes to cook.

Build the plate

Make It a Meal

Pair this recipe with a side, bread, and something sweet from the FAFO Kitchen.

Finish With Dessert

Panna Cotta

Try this next

Panna Cotta

View recipe →

Lila, the editorial persona and visual host of Fork Around & Find Out Kitchen

About Lila

Lila is the editorial persona and visual host of Fork Around & Find Out Kitchen. Recipes presented in the Lila voice are developed, edited, and published under FAFO Kitchen's editorial standards.

Found a problem? Tell FAFO Kitchen.