Italian Wedding Soup is a complete meal to nourish your body and soul. This flavorful soup combines acini di pepe pasta, vegetables, and tiny meatballs to form a robust meal that’s perfect for any night of the week!

Large pot of Italian wedding soup with wooden ladle scooping out the meatballs.

Growing up, Italian Wedding Soup is a meal we’d have frequently, and it never disappointed!

This family-friendly meal features tender tiny meatballs, and lots of fresh vegetables, like carrots, celery, onion, and escarole.

The tiny pearl-shaped pasta, acini di pepe, used for traditional Italian wedding soup rounds out the dish making this a complete meal.

Serve with crusty bread or homemade no-knead focaccia, and you’re set!

Recipe Ingredients

All ingredients for this recipe are shown in the pic below and special notes are made in this bulleted list to assist you.

Ingredients shown: escarole, parsley, carrots, celery, ground beef and pork, milk, onion, garlic, breadcrumbs, pecorino, parmesan rind, olive oil, chicken stock, acini di pepe, and eggs.
  • Pork and beef. I use a combination of ground pork and ground beef (80/20) for maximum flavor in the meatballs. If you prefer a lower-fat version, try my recipe for Italian wedding soup with turkey meatballs.
  • Eggs. To bind the meatballs.
  • Breadcrumbs. I use plain breadcrumbs but feel free to use seasoned. Note, there’s plenty of seasoning in the meatballs thanks to the other ingredients, such as parsley, garlic, and Pecorino Romano.
  • Carrots, celery, and onion. To flavor the broth.
  • Acini di pepe. This pearl-shaped pasta is often used for Italian wedding soup, but any small pasta will do if you can’t find it.
  • Chicken stock. If possible, use homemade chicken stock. If not, use a chicken base such as Better Than Bouillon brand to make a stock.
  • Escarole. This leafy green is a great addition to Italian wedding soup, but if you cannot find it, feel free to use spinach, kale, or other greens.
  • Parmigiano Reggiano rind. I love adding a rind of parm to most soups for additional flavor, but this is optional.

See the recipe card for full information on ingredients and quantities.

How to make it

Each number corresponds to the numbered written steps below.

  1. In a large mixing bowl, combine 3/4 cup of plain breadcrumbs with 3 ounces of milk and allow the mixture to sit for 5 minutes. (Photo #1)
Italian wedding soup recipe collage group one showing pouring milk onto bowl of breadcrumbs and cutting escarole into ribbons.
  1. Clean and chop 1 bunch of escarole. It’s best to discard any rough outer leaves and the core of the escarole. Dice 1 medium onion, 2 medium carrots, and 2 large celery ribs and set aside. Mince 3 cloves of garlic and use the back of a knife to turn it into a paste. (Photo #2)
  2. Add the garlic paste to the breadcrumb and milk mixture along with 1/2 cup of grated Pecorino Romano cheese, 2 large eggs, 1 teaspoon of kosher salt, 1/2 teaspoon of black pepper, and 3/4 pound of ground pork and 3/4 pound of ground beef. Use your hands to mix and incorporate the ingredients. (Photo #3)
Recipe collage two showing mixing of meatballs with hands and forming the mix into tiny meatballs.
  1. Form very small meatballs (1/2″diameter or less) and place them onto a parchment paper-lined baking sheet. It helps to keep a small bowl of water nearby to dip your hands in every 3-4 meatballs so that they don’t become too sticky. Repeat the process until all the meatball mixture is gone, then place in the fridge while you make the broth. (Photo #4)
  2. Heat a large pot over medium heat and add 1/4 cup of extra virgin olive oil along with the onions, celery, and carrots. Saute until soft, about 7-10 minutes. (Photo #5)
Recipe collage three showing sauteing of vegetables in large pot and adding escarole to the pot.
  1. Add the chopped escarole and continue to cook for another 3 minutes. Note: if using spinach instead of escarole, do not add it at this time. Wait until the last few minutes of cooking to add. (Photo #6)
  2. Add 10 cups of low-sodium chicken stock or broth and 1 rind of Parmigiano Reggiano and bring to a boil, then reduce the heat and simmer uncovered for 10-15 minutes. (Photo #7)
Recipe collage four showing boiling of soup and adding meatballs into pot.
  1. Add the meatballs and simmer for 3 minutes. (Photo #8)
  2. Add 8 ounces of acini di pepe pasta and cook until the pasta reaches al dente. (Photo #9)
Recipe collage five showing adding of acini di peppe to the soup and the final soup ready to be served.
  1. Remove the pot from the heat, and taste test. Adjust salt and pepper to taste, then serve in bowls with grated cheese and a drizzle of good extra virgin olive oil. (Photo #10) Enjoy!

Top tips

  • Save your Parmigiano Reggiano rinds! These make great additions to most Italian soup including Italian wedding soup and lentil soup because they impart great umami flavor!
  • Use homemade stock or brodo. Whenever possible, use homemade chicken stock or brodo. They not only have better flavor but also give you greater control over the sodium levels in any dish.
  • Clear broth. If you prefer a clear broth, forego the parm rind and also precook the meatballs in a separate pot of water. Then strain the meatballs and add to the soup at the very end. This removes much of the fat from the soup. I prefer it with the rind and the fat!
  • Making ahead? Some folks prefer to cook their acini di pepe pasta separately if they intend on serving the soup the next day to prevent the pasta from becoming too soft. Use your judgment here and do what works best for you.
  • Extra meatballs. Double the meatball recipe and make extra! You can freeze them for a later date or use them in other soups such as my chicken noodle soup with meatballs, or macaroni and broccoli with meatballs. They also work great in this baked ziti with tiny meatballs recipe.
White bowl of Italian wedding soup.

More soup recipes

We love soups, stews, and chilis, especially for cold weather. Here are a few of our favorites to warm your body and soul!

If you’ve enjoyed this Traditional Italian Wedding Soup Recipe or any recipe on this site, give it a 5-star rating and tell us about it in the comments below.

We strive to satisfy a number of learning styles.  If you are someone who prefers to learn by watching, you can find most of our recipes on YouTube and our Facebook Page.

Italian Wedding Soup

5 from 14 votes
Prep: 30 minutes
Cook: 40 minutes
Total: 1 hour 10 minutes
Servings: 6
Italian Wedding Soup combines tiny meatballs made with beef and pork, acini di pepe pasta, fresh veggies, and greens simmered together in a tasty and nourishing broth. This may be a soup, but it's robust enough to be a complete meal!


for the meatballs

  • 3/4 cup plain breadcrumbs
  • 3 ounces milk
  • 3/4 pound ground chuck
  • 3/4 pound ground pork
  • 3 cloves garlic paste
  • 1/2 cup Pecorino Romano grated
  • 1/4 cup flat leaf Italian parsley minced
  • 2 large eggs
  • 1 teaspoon kosher salt
  • 1/2 teaspoon black pepper

For the soup

  • 1/4 cup extra virgin olive oil
  • 1 medium onion diced
  • 2 medium carrots diced
  • 2 large celery ribs diced
  • 10 cups low sodium chicken stock plus extra to thin (can also use water)
  • 1 parmesan rind optional
  • 1 bunch escarole washed and chopped (can sub 16 ounces of spinach)
  • 8 ounces acini di pepe pasta
  • salt and pepper to taste


For the meatballs

  • In a large mixing bowl, combine the breadcrumbs and milk and let sit for 5 minutes.
  • Add all of the remaining meatball ingredients to the bowl and mix to incorporate.
  • Form very small meatballs (1/2" diameter or less) and place them onto a parchment paper lined baking sheet. Place the baking sheet into the fridge then begin making the broth.

For the soup

  • Heat a large pot to medium heat with extra virgin olive oil then add the onions, celery, and carrot. Saute until soft (about 7-10 minutes) then add in the chopped escarole and continue to cook for another 3 minutes. Note: If subbing spinach, add to soup during the last few minutes of cooking.
  • Add 10 cups of low-sodium chicken stock or broth and the parmesan rind to the pot and bring to a boil. Once boiling turn the heat down and simmer uncovered for 10-15 minutes.
  • Add in the meatballs and simmer for 3 minutes. Next, add in the pasta and cook until al dente. Once the pasta has reached al dente, remove the pot from the heat.
  • Taste the soup and adjust salt and pepper to taste. Serve with grated cheese and a drizzle of extra virgin olive oil. Enjoy!


  • We always recommend saving parmesan rinds!  They are excellent for soups like this, but if you don’t have one just serve with extra grated cheese.
  • Homemade chicken stock or brodo is recommended.  Box stocks can be used but they are often pretty lousy, instead, use reduced sodium Better than Bouillon chicken base.
  • If you desire a clear broth do not add the parmesan rind.  Also, precook the meatballs in a separate pot of water then strain the meatballs and add to the soup at the very end.  This will prevent much of the fat from clouding the soup.  In my opinion, it’s much better with the parmesan rind and the additional fat.
  • If required, add more liquid to personal preference.  Extra chicken stock or water can be used. 
  • Leftovers can be saved for up to 3 days or frozen for up to 3 months.  To reheat, simply microwave or reheat on the stovetop.


Calories: 544kcal | Carbohydrates: 44.8g | Protein: 47.9g | Fat: 18.9g | Saturated Fat: 5.2g | Cholesterol: 153mg | Sodium: 612mg | Potassium: 822mg | Fiber: 4.8g | Sugar: 3.9g | Calcium: 171mg | Iron: 15mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Like this? Leave a comment below!Check us out on Instagram at @sipandfeast or tag #sipandfeast!

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.


  1. Linda Brandow says:

    Oh no! This is the second time making this fabulous soup. I wanted to make enough tiny meatballs for both the soup and a pasta bake. I just finished rolling 250 tiny meatballs and realized I forgot the cheese! I can’t believe I made tbat mistake! Have I ruined the recipe now? Is there any way to recover? T

    1. Tara says:

      Hi Linda, the meatballs will still be ok even without the cheese.

  2. Karen Cooper says:

    5 stars
    Absolutely delicious! Today was a cool overcast Spring day in MD so this was the perfect Sunday dinner.

  3. Audrey says:

    5 stars
    OMG Delicious! This is THE most delicious soup hands down! Love the website, the YouTube channel, and the podcast!

  4. Gilles Iachelini says:

    5 stars
    Dear Jim,
    I am a flaming fan of yours. Have cooked about 5 different recipes so far. I know your channel since a few month. As a german/swiss based cooking enthusiast I would love to see if you could provide the measures also in Gramm or Milliliter. I assume its more work for to do the calculation, but it helps me a lot during preparing my mison place.
    Thank you for your channel and the whole thing… Its really great to see and follow you.

    And keep Worcester alive. I guess none knows how to pronounce it 😀

  5. Linda says:

    5 stars
    This is the very best Italian wedding soup recipe out there. And I have tried many.

    1. Tara says:

      We’re so happy you enjoyed it and thank you for the comment!

  6. Elia says:

    Making the soup this weekend but meal prepped the meatballs. They smell phenomenal. I made the meatballs and froze them on a sheet pan. They are in a freezer bag until i make the soup on Sunday. Perfect wet and dry mixture, thank you!

  7. Ellen says:

    5 stars
    Always perfect, whether using escarole or spinach. Sometimes we make turkey or chicken meatballs, still using your recipe and it’s wonderful that way, too. Everyone loves it.
    This week it was a condolence meal for friends and two dinners for a cousin who gave birth to twins!