Italian-Wedding-Soup

Italian Wedding Soup (Homemade Meatball Soup)

I always found the name of this soup a little confusing growing up, assuming it had something to do with actual weddings, before learning it’s really about the way the greens and meatballs “marry” together in the broth. Once I understood that, the soup made a lot more sense to me — and once I made it myself, it made even more sense why it’s stuck around as a classic for so long. Tiny, tender meatballs, greens, and small pasta in a light, savory broth is just an easy combination to fall in love with.

This Italian Wedding Soup features small, tender meatballs, acini di pepe pasta, and escarole simmered together in a savory chicken broth. It’s become one of my regular soup rotations, right alongside heartier options like my Crockpot Sausage Tortellini Soup and classic chicken soups like my Classic Homemade Chicken Noodle Soup or my Crockpot Chicken Noodle Soup — between all of them, I’ve got a soup ready for just about any craving.

Why This Recipe Works

Making the meatballs small keeps them tender and quick-cooking, so they simmer gently right in the broth rather than needing to be browned separately first — a simpler approach than the sausage-browning step used in heartier tomato-based soups. Using a mix of ground beef and pork, or beef alone with breadcrumbs and parmesan mixed in, keeps the meatballs moist rather than dense or dry.

Adding the pasta directly to the simmering broth lets it cook through while picking up flavor from the broth, though it will continue to absorb liquid the longer the soup sits — the same consideration that applies to noodles in a classic chicken noodle soup. Escarole wilts down quickly and adds a slightly bitter, earthy note that balances out the richness of the meatballs and broth.

Ingredients You’ll Need

For the meatballs:

  • ½ lb ground beef
  • ½ lb ground pork
  • ½ cup breadcrumbs
  • ¼ cup grated parmesan cheese
  • 1 large egg
  • 2 cloves garlic, minced
  • 2 tablespoons chopped fresh parsley
  • ½ teaspoon salt
  • ¼ teaspoon black pepper

For the soup:

  • 1 tablespoon olive oil
  • 1 small yellow onion, diced
  • 2 carrots, peeled and diced
  • 2 celery stalks, diced
  • 3 cloves garlic, minced
  • 8 cups chicken broth
  • ½ cup acini di pepe or small pasta, uncooked
  • 4 cups chopped escarole (or baby spinach)
  • 1 teaspoon salt, plus more to taste
  • ½ teaspoon black pepper
  • Grated parmesan cheese, for serving

Step-by-Step Instructions

1. Make the Meatballs

In a bowl, combine the ground beef, ground pork, breadcrumbs, parmesan, egg, garlic, parsley, salt, and pepper, mixing gently until just combined. Roll into small, bite-sized meatballs, about 1 inch in diameter.

2. Cook the Vegetables

Heat the olive oil in a large pot or Dutch oven over medium heat. Add the onion, carrots, and celery, and cook for 6–8 minutes, until softened. Stir in the garlic and cook for another 30 seconds, until fragrant.

3. Add the Broth and Meatballs

Pour in the chicken broth and bring to a gentle boil. Carefully drop the meatballs into the simmering broth and cook for 8–10 minutes, until cooked through.

4. Add the Pasta

Stir in the acini di pepe or small pasta and cook for 8–10 minutes, until tender, stirring occasionally to prevent sticking.

5. Add the Greens and Serve

Stir in the escarole and let it wilt for 2–3 minutes. Season with salt and pepper to taste. Ladle into bowls and top with grated parmesan before serving.

Tips From My Kitchen

  • Keep the meatballs small so they cook through quickly and stay tender in the broth.
  • Don’t overmix the meatball mixture, or the meatballs can turn out tough instead of tender.
  • This soup thickens as the pasta continues to absorb liquid, so add extra broth when reheating leftovers.
  • Baby spinach makes a milder substitute for escarole if you prefer a less bitter green.

Nutrition Information

Estimated values per serving, based on 8 servings:

  • Calories: approximately 260–290
  • Protein: 18–20g
  • Carbohydrates: 16–18g
  • Fat: 14–16g
  • Sugar: 2–3g

For a lighter version, use ground turkey in place of beef and pork, and go a little lighter on the parmesan garnish — the soup will still be flavorful and satisfying.

Storage and Reheating

Store leftovers in an airtight container in the fridge for up to 4 days. Reheat gently on the stovetop over low heat, adding extra broth as needed since the pasta continues to absorb liquid as it sits. If freezing, it’s best to freeze the soup without the pasta, then cook fresh pasta and add it after reheating, since it can turn mushy after being frozen and thawed.

Frequently Asked Questions

Can I use only ground beef instead of a mix with pork?

Yes, ground beef alone works fine — the mix of beef and pork just adds a bit more flavor and moisture, but the meatballs will still turn out well with beef alone.

Can I make the meatballs ahead of time?

Yes, you can form the meatballs a day ahead and store them covered in the fridge, or freeze them uncooked for longer storage, then cook them directly in the broth when ready.

Can I use kale instead of escarole?

Yes, kale works as a substitute, though it takes slightly longer to soften than escarole or spinach, so add it a few minutes earlier.

Can I freeze this soup?

It’s best to freeze the soup without the pasta, since pasta can turn mushy when thawed. Freeze the broth and meatballs, then cook fresh pasta and add it after reheating for the best texture.

Final Thoughts

This Italian Wedding Soup has become one of my favorite ways to enjoy a lighter, savory soup that still feels satisfying thanks to those tender little meatballs. It’s comforting, easy to make, and always a hit whenever I bring a pot to the table. I hope it becomes a regular in your soup rotation too.

About the author
Hadd

Leave a Comment