Jump to RecipeJump to VideoLeave a ReviewPin Recipe

This cozy Italian-style meatball soup is packed with tender homemade meatballs, a rich tomato broth, and plenty of veggies and herbs. It is hearty, family friendly, and perfect for those nights when you want something warm and comforting without a lot of fuss!

If you love cooking with meatballs, try my homemade meatballs, dump-and-bake meatball casserole, or Aunt Bee’s Swedish meatballs too.

Side shot of bowls of Italian meatball soup on a table.

Before You Get Started

Before you begin, here are a few little tips that make all the difference.

  • Don’t skip the egg and breadcrumbs in your meatballs. These binders are what keep your meatballs tender and help them hold together in the broth. Skipping them often leads to dense or crumbly meatballs.
  • Use a light hand when mixing. Overworking the meat makes meatballs tough. Mix just until the ingredients are combined, then stop.
  • Brown the meatballs first (but don’t cook them through). A quick sear adds flavor and helps them hold their shape. They’ll finish cooking in the soup.
  • Let the soup simmer, not boil. A gentle simmer keeps the meatballs tender. Boiling too vigorously can cause them to break apart.

Meat Options

You can use all beef, a mix of beef and pork, or beef combined with Italian sausage. Ground beef is the most common, but a beef and pork blend adds richness and tenderness, while a sausage blend brings extra seasoning and depth.

Ingredients for meatball soup.

How to Make Meatball Soup

Step 1: Make the Meatballs

In a bowl, combine the beef, breadcrumbs, Parmesan, egg, milk, garlic, parsley, oregano, salt, and pepper. Mix just until everything comes together.

Meatball mixture in a bowl.

Roll the mixture into small 1 inch meatballs.

** Pro Tip: Slightly damp hands make rolling easier and help the meatballs stay smooth.

** Prep Ahead: You can roll the meatballs a day ahead and keep them covered in the fridge.

Rolling homemade meatballs.

Step 2: Brown the Meatballs

Heat olive oil in a Dutch oven over medium heat. Working in batches, brown the meatballs on all sides. You do not need to cook them through. Once they have some color, transfer them to a plate.

** Quick note: If you are pressed for time, skip the browning step and add the raw meatballs straight to the simmering broth. They will still cook through and taste great but with a bit less depth of flavor.

Browning homemade meatballs in a Dutch oven.

Step 3: Build the Soup Base

Add the onion, carrots, and celery to the drippings in the pot. Cook until the veggies start to soften. Stir in the garlic and dried herbs and cook for another 30 seconds.

Sauteing the aromatics for a pot of meatball soup.

Pour in the crushed tomatoes and broth. Give the bottom of the pot a good scrape to lift any browned bits. Bring everything to a gentle simmer.

Stirring the tomato broth in a pot of soup.

Step 4: Simmer the Meatballs

Return the browned meatballs to the pot. Cover and simmer for about 20 minutes or until the meatballs are cooked through.

** Pro Tip: A gentle simmer keeps the meatballs tender. A rolling boil can make them tough or cause them to fall apart.

Adding the meatballs back to a pot of soup.

Step 5: Add Pasta and Greens

If you want a heartier soup, stir in ditalini or orzo and cook uncovered until the pasta is tender.

Cooking the pasta in meatball soup.

Add the spinach (or kale) and let it wilt for a minute or two.

Taste the soup and adjust the seasoning. A squeeze of lemon juice brightens the flavor nicely at the end.

Horizontal overhead shot of adding the spinach to a pot of meatball soup.

Step 6: Serve

Ladle the soup into bowls and finish with plenty of grated Parmesan. Serve with warm crusty bread or garlic bread for dipping.

Horizontal side shot of bowls of meatball soup on a dinner table.

Variations and Customizations

Meatball Variations:

  • Use store bought frozen meatballs for a shortcut. Add them frozen and simmer a few extra minutes.
  • Try turkey or chicken meatballs for a lighter soup.
  • Use Italian sausage meat for a bold, savory flavor.

Soup Variations:

  • Add small pasta like ditalini or orzo.
  • Stir in white beans or chickpeas for extra protein.
  • Make it creamy with a splash of heavy cream or a spoonful of cream cheese.
  • Swap the spinach for kale.

Serving Suggestions:

Storage, Freezing, and Make-Ahead

Storage: Refrigerate in an airtight container for up to 4 days. Note: If you added pasta, expect it to soften and absorb liquid. You can also cook the pasta separately and add it to each serving instead.

Freezing: Freeze for up to 3 months. Cool completely and freeze without pasta or greens for the best texture. Thaw overnight in the fridge.

Reheating: Reheat gently on the stovetop over medium-low heat. Add a splash of broth if the soup has thickened.

Make-Ahead: Meatballs can be shaped and refrigerated up to a day ahead. The full soup reheats beautifully, making it great for meal prep.

Frequently Asked Questions

Should you brown meatballs before putting them in soup?

Browning adds flavor and helps the meatballs hold their shape. It is recommended but not required.

How do you keep meatballs from falling apart in soup?

Use the egg and breadcrumbs, mix gently, and keep the soup at a gentle simmer.

Can you use frozen meatballs?

Yes. Add them straight from the freezer and extend the simmer time by 5 to 10 minutes.

What is the difference between Italian meatball soup and Mexican meatball soup?

Italian meatball soup uses Italian herbs, tomatoes, and Parmesan. Mexican albondigas often includes rice in the meatballs and a lighter broth flavored with cumin, cilantro, and vegetables like zucchini or potatoes.

Overhead shot of two bowls of meatball soup on a table with bread.

Did you make this recipe?

If you enjoyed this recipe, please leave a comment with a 5-star review at the bottom of the post. Thank you!

Watch How to Make It

Square overhead shot of a bowl of Italian meatball soup.

Meatball Soup

Prep: 25 minutes
Cook: 40 minutes
Total: 1 hour 5 minutes
Servings 8 people
Calories 297 kcal
Warm up dinner tonight with a pot of homemade meatball soup, filled with tender meatballs, a rich tomato broth, and plenty of cozy Italian flavor. It is easy, comforting, and perfect for busy family nights.

Equipment

Ingredients
  

For the Meatballs

  • 1 lb. ground beef (or half beef, half Italian sausage)
  • cup Italian breadcrumbs
  • ¼ cup grated Parmesan cheese
  • 1 large egg
  • 2 tablespoons milk
  • 2 cloves garlic, minced (about 2 teaspoons)
  • 1 tablespoon chopped fresh parsley (or 1 teaspoon dried)
  • ½ teaspoon dried oregano
  • ½ teaspoon kosher salt
  • ¼ teaspoon black pepper

For the Soup

  • 1 tablespoon olive oil
  • 1 small onion, diced (about 1 cup)
  • 2 medium carrots, peeled and diced
  • 1 celery stalk, diced
  • 3 cloves garlic, minced (about 1 tablespoon)
  • 1 teaspoon dried basil
  • 1 teaspoon dried oregano
  • ½ teaspoon dried thyme
  • 1 (28 ounce) can crushed tomatoes
  • 6 cups low-sodium chicken broth (or beef broth for a richer flavor)
  • ½ cup uncooked ditalini or orzo pasta (optional)
  • 2 cups chopped fresh spinach (or kale)
  • 1 tablespoon fresh lemon juice
  • Additional grated Parmesan, for serving
  • Kosher salt and ground black pepper, to taste

Instructions

Make the Meatballs

  • In a medium bowl, gently combine the beef, breadcrumbs, Parmesan, egg, milk, garlic, parsley, oregano, salt, and pepper.
    Meatball mixture in a bowl.
  • Roll the mixture into small meatballs, about 1 inch in diameter. You should get roughly 40 meatballs.
    Rolling homemade meatballs.

Brown the Meatballs

  • Heat the olive oil in a large Dutch oven over medium heat. Working in batches if needed, brown the meatballs on all sides. They do not need to cook through; they’ll finish in the soup. Transfer the browned meatballs to a plate.
    Browning homemade meatballs in a Dutch oven.

Build the Soup Base

  • To the drippings in the pot, add the onion, carrots, and celery. Cook until slightly softened, about 5 minutes. Stir in the garlic, basil, oregano, and thyme; cook for 30 seconds.
    Sauteing the aromatics for a pot of meatball soup.

Add the Liquids

  • Pour in the crushed tomatoes and broth. Stir well, scraping up any browned bits from the bottom of the pot.
    Stirring the tomato broth in a pot of soup.

Simmer

  • Return the meatballs to the pot. Bring to a boil, then reduce the heat to low. Cover and simmer for 20 minutes.
    Adding the meatballs back to a pot of soup.

Add Pasta (if using)

  • Stir in the ditalini or orzo and continue cooking uncovered until the pasta is tender, about 10 minutes.
    Cooking the pasta in meatball soup.

Add Greens

  • Stir in the spinach (or kale) and cook just until wilted, 1 to 2 minutes. Taste and adjust the seasoning with salt, pepper, and a squeeze of lemon juice.
    Horizontal overhead shot of adding the spinach to a pot of meatball soup.

Serve

  • Ladle into bowls and top with Parmesan cheese.
    Horizontal overhead shot of two bowls of Italian style meatball soup.

Notes

  • Meatball size: Roll meatballs about 1 inch in diameter for soup. Smaller meatballs cook faster and are easier to eat in spoonfuls.
  • Don’t overmix: Gently combine meatball ingredients just until mixed. Overworking makes them dense.
  • Browning optional: Browning adds flavor and structure, but meatballs can be added directly to simmering broth if short on time.
  • Simmer, don’t boil: A gentle simmer keeps meatballs tender. Boiling can cause them to break apart.
  • Greens timing: Add spinach or kale in the last 1-2 minutes so it wilts but stays vibrant.
  • Pasta note: If adding pasta, cook it separately or add uncooked pasta to the pot and extend the simmer time. Pasta will absorb liquid as it sits.
  • Storage: Refrigerate up to 4 days. Freeze (without pasta) for up to 3 months.
  • Reheating: Warm gently on the stovetop. Add a splash of broth if the soup has thickened.
  • Shortcut option: Use frozen fully-cooked meatballs instead of homemade. Add frozen and simmer until heated through.
  • Serving suggestion: Top with freshly grated parmesan and serve with crusty bread for dipping.

Nutrition

Serving: 1/8 of the soupCalories: 297kcalCarbohydrates: 25gProtein: 20gFat: 14gSaturated Fat: 5gPolyunsaturated Fat: 1gMonounsaturated Fat: 6gTrans Fat: 1gCholesterol: 65mgSodium: 521mgPotassium: 803mgFiber: 4gSugar: 7gVitamin A: 3614IUVitamin C: 15mgCalcium: 127mgIron: 4mg
Keyword: easy meatball soup, italian meatball soup, Italian meatball soup recipe, Meatball Soup, meatball soup recipe
Course: Dinner
Cuisine: Italian
Square shot of Blair Lonergan from the food blog The Seasoned Mom serving a pie at a table outside.

Hey, I’m Blair!

Welcome to my farmhouse kitchen in the foothills of Virginia’s Blue Ridge Mountains. Inspired by local traditions and seasonal fare, you’ll find plenty of easy, comforting recipes that bring your family together around the table. It’s down-home, country-style cooking!

Read More

Leave a Comment

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.