Italian Wedding Soup

Tested & Perfected Recipes Cookbook Recipe

This post may contain affiliate links. Read my full disclosure policy.

Tender meatballs, veggies, and pasta in a rich and flavorful broth, Italian wedding soup is a meal unto itself.

Large pot of Italian wedding soup.

Photo by Johnny Miller (Clarkson Potter, 2021)

My kids love anything with meatballs in it (especially mini meatballs), so there’s always excitement at our house when Italian wedding soup is on the menu. The name “wedding soup” comes from the Italian phrase minestra maritata—or “married soup”—which is a reference to the way the flavors combine, like a happy marriage. Wedding soup is traditionally made from a rich, long-cooked homemade chicken stock. To save time and mimic the same rich flavor, I use a combination of high-quality store-bought broth fortified with wine and lots of veggies. For the meatballs, my secret is to add ground Italian sausage to the beef mixture, which adds tons of flavor without the need for lots of other seasonings.

The most tedious part of this Italian soup recipe is rolling the little meatballs (the recipe makes 50!), so I usually get the kids to help. The soup is hearty and truly a meal unto itself. Serve it with warm garlic bread or focaccia and a Caesar salad, and dinner is served!

“This soup is perfect for a cold evening meal, and a real crowd pleaser.”

Nancy

What You’ll Need To Make Italian Wedding Soup

Soup ingredients including chicken broth, beef broth, and egg.
  • Egg: Helps bind the meatballs, giving them structure and tenderness.
  • Fresh chives and sage: Add a subtle onion and earthy flavor to the meatballs.
  • Garlic: Lends savory flavor to the meatballs.
  • Lean ground beef: Forms the base for tender, flavorful meatballs.
  • Italian sausage: Adds tenderness, spice, and extra rich flavor to the meatballs.
  • Parmigiano Reggiano: Adds a sharp, nutty flavor to the meatballs and also to the finished soup.
  • Italian seasoned bread crumbs: Helps bind the meatballs while adding extra seasoning.
  • Olive oil: Used to sauté the vegetables and adds richness to the soup.
  • Yellow onion, carrots, and celery: The classic trio for a flavorful soup base.
  • Chicken broth and beef broth: Provides a rich and hearty base for the soup. Note that the recipe calls for regular (not low-sodium) chicken and beef broth. I find the soup to be a bit bland with the low-sodium varieties, but if you special dietary considerations, go ahead and use low-sodium and season to taste before serving.
  • Dry white wine: Adds a touch of acidity to balance out the richness of the broth.
  • Bay leaf: Infuses the soup with a subtle, earthy flavor.
  • Small pasta (like ditalini, orzo, or pearl couscous): Gives the soup heartiness and texture.
  • Fresh spinach: Stirred in at the end, adding color and a touch of freshness. Chard or escarole would make excellent substitutes.
  • Jump to the printable recipe for precise measurements

Step-by-Step Instructions

Begin by making the meatballs.

Egg and herbs in a bowl.

In a large bowl, beat the egg with the chives, sage and garlic.

Fork in a bowl of egg mixture.

Add the ground beef, sausage, Parmesan cheese, breadcrumbs, and salt.

Bowl of unmixed meatball mixture.

Mash with your hands until evenly combined.

Person mixing meatball mixture by hand.

Roll the mixture into tablespoon-size balls (about 1 inch in diameter) and place on a greased oven-safe rack. (If you don’t have an oven-safe rack, it’s fine to cook the meatballs directly on the baking sheet; it’ll just be a little harder to get rid of the fat as it tends to collect around the meatballs.)

Uncooked meatballs on a wire rack over a lined baking sheet.

Bake for 15 to 18 minutes, or until lightly browned and cooked through. Set aside.

Cooked meatballs on a wire rack over a lined baking sheet.

To make the soup, heat the olive oil in a large pot or Dutch oven over medium heat. Add the onions, carrots, and celery.

Vegetables in a Dutch oven.

Cook, stirring frequently, until the vegetables are softened, about 8 minutes.

Cooked vegetables in a Dutch oven.

Add the chicken broth, beef broth, water, wine, bay leaf, salt, and pepper and bring to a boil.

Vegetables boiling in broth.

Add the pasta and cook, uncovered, at a gentle boil until the pasta is al dente, 8 to 10 minutes (or according to package directions).

Boodles pouring into a Dutch oven of broth.

Taste the soup and adjust the seasoning, if necessary. Reduce the heat to low and add the spinach and meatballs.

Spinach and broth in a Dutch oven.

Simmer for a few minutes, until the spinach is wilted and the meatballs are warmed through. Ladle into bowls and serve with grated Parmigiano Reggiano.

Make It Ahead

If you’d like to make this soup part of your rotation and want to shave off a little time for the next time around, double the recipe for the meatballs and freeze half. That way, all you’ll have to do is make the soup and add the meatballs to it as directed in the recipe. (They may take a few extra minutes to warm through if you’re adding them directly from the freezer.)

Video Tutorial

Large pot of Italian wedding soup.
Photo by Johnny Miller (Clarkson Potter, 2021)

You May Also Like

Italian Wedding Soup

Tender meatballs, veggies, and pasta in a rich and flavorful broth, Italian wedding soup is a meal unto itself.

Servings: 8
Prep Time: 50 Minutes
Cook Time: 30 Minutes
Total Time: 1 Hour 20 Minutes

Ingredients

For the Meatballs

  • 1 large egg
  • 3 tablespoons finely chopped fresh chives
  • 2 teaspoons finely chopped fresh sage
  • 2 cloves garlic, minced
  • ¾ lb 85 or 90% lean ground beef
  • ½ lb sweet or hot Italian sausage, removed from the casings
  • ½ cup grated Parmigiano Reggiano
  • ⅓ cup Italian seasoned bread crumbs
  • ¼ teaspoon salt

For the Soup

  • 2 tablespoons olive oil
  • 1 medium yellow onion, diced
  • 2 large carrots, diced
  • 2 stalks celery, diced
  • 6 cups high-quality chicken broth, such as Swanson (do not use low-sodium)
  • 2 cups high-quality beef broth, such as Swanson (do not use low-sodium)
  • 2 cups water
  • ½ cup dry white wine (optional)
  • 1 bay leaf
  • ½ teaspoon salt
  • ¼ teaspoon white pepper (okay to use black pepper)
  • 1 cup small pasta such as dittalini
  • 4 oz fresh spinach, stems trimmed and roughly chopped (once prepped, you should have about 3 packed cups)
  • Parmigiano Reggiano, for serving

Instructions

  1. Make the meatballs: Preheat the oven to 350°F. Line a baking sheet with aluminum foil and set an oven-proof roasting rack over top. Spray the rack generously with nonstick cooking spray.
  2. In a large bowl, beat the egg with the chives, sage and garlic. Add the remaining meatball ingredients and mash with your hands until evenly combined. Roll the mixture into tablespoon-size balls, about 1 inch in diameter (it will make approximately 50 meatballs), and place on the prepared rack. Bake for 15 to 18 minutes, or until lightly browned and cooked through. Set aside.
  3. Meanwhile, start the soup. In a large soup pot or Dutch oven over medium heat, heat the olive oil. Add the onions, carrots, and celery and cook, stirring frequently, until the vegetables are softened, about 8 minutes. Add the chicken broth, beef broth, water, wine, bay leaf, salt and pepper and bring to a boil. Add the pasta and cook, uncovered, at a gentle boil until the pasta is al dente, 8 to 10 minutes (or according to package directions). Taste the soup and adjust the seasoning, if necessary. Reduce the heat to low and add the spinach and meatballs. Simmer for a few minutes, until the spinach is wilted and the meatballs are warmed through. Ladle into bowls and serve with grated Parmigiano Reggiano.
  4. Freezer-Friendly Instructions: The soup can be frozen for up to 3 months but wait until you reheat the soup to add the pasta. Defrost the soup in the refrigerator for 12 hours and then reheat it on the stovetop over medium heat until simmering, add the pasta, and cook until the pasta is tender.

Nutrition Information

Powered by Edamam

  • Calories: 359
  • Fat: 22 g
  • Saturated fat: 7 g
  • Carbohydrates: 16 g
  • Sugar: 5 g
  • Fiber: 2 g
  • Protein: 23 g
  • Sodium: 930 mg
  • Cholesterol: 83 mg

This website is written and produced for informational purposes only. I am not a certified nutritionist and the nutritional data on this site has not been evaluated or approved by a nutritionist or the Food and Drug Administration. Nutritional information is offered as a courtesy and should not be construed as a guarantee. The data is calculated through an online nutritional calculator, Edamam.com. Although I do my best to provide accurate nutritional information, these figures should be considered estimates only. Varying factors such as product types or brands purchased, natural fluctuations in fresh produce, and the way ingredients are processed change the effective nutritional information in any given recipe. Furthermore, different online calculators provide different results depending on their own nutrition fact sources and algorithms. To obtain the most accurate nutritional information in a given recipe, you should calculate the nutritional information with the actual ingredients used in your recipe, using your preferred nutrition calculator.

See more recipes:

Comments

  • Making soup is one of my favorite things to do. I just made Ina Garten’s Italian Wedding Soup recipe, and it was divine. Her meatballs are chicken-based, and I really want to try your version. The meatballs are definitely the most time consuming part of the prep, and I love your idea to make a double batch and freeze. Do you think escarole would work well in place of the spinach? The baby spinach was perfect for the first serving, but for next day reheating was super flat. The version I made included some fresh dill added with the spinach. It added a beautiful aromatic note to the soup. (If it’s ok, I will come back with my star rating when I have actually made yours).

    • Escarole has a slightly different taste but it should work here. Please LMK how it turns out!

  • Perfection. Follow it to the tee and serve with a grilled cheese. 4th recipe I’ve tried from this site and I’m now a total convert. My family is thrilled.

    • — Amy Carson Smith
    • Reply
    • I have looked at several of your recipes and can’t seem to find the amount each recipe makes. Am I blind? Help, please. I am particularly interested in the Italian Wedding Soup. Thanks

      • Hi Julia, It sounds like you are just looking at the portion of the page that has the pictures with some instructions underneath. If you scroll down a bit to under the pictures, you’ll find the full recipe. Alternatively, at the very top of the page, under the recipe name, you’ll see an orange/red button that says Jump to Recipe – if you click on that, it will take you directly to the recipe. Hope that clarifies!

  • This soup is awesome! It’s even better the next day – my wife even had it for breakfast the next morning!

  • 5 stars with a couple changes- did 4 cups chicken stock & 4 cups beef stock, 3/4 cups wine, the rest water, used frozen gluten free Italian style meatballs (Colameco’s – Whole Foods), 5 ounces chopped baby spinach, 1.5 bay leaves….. SOOOOO GOOD!!!

  • I followed the recipe pretty closely but did not enjoy the end result. The flavor was bland and the soup didn’t look appetizing. I don’t want to be a negative nelly but it was not good and I wonder if the brand of broth I used could be the culprit. The meatballs were okay; they turned out hard which might be because I handled the meat a bit too much. Overall a disappointment but I don’t blame the recipe I just had a bad outing in the kitchen and otherwise have loved all of Jenn’s recipes. I look forward to making the meatballs again, maybe replacing sage with a different herb.

    • Sorry this was a bit disappointing for you! If you want to give it another try, I really like Swanson broth.

    • I really like Kirkland (Costco) organic chicken stock. It is inexpensive, and has a lovely flavor.

  • I made this soup last weekend and it was delicious! I used kale and loved it. Thank you!

    • I used this recipe as a base to build a soup using my own beef&pork meatballs (I make big batches and freeze some for soups). My modifications: 1tbsp tomato paste, 2 minced cloves of garlic, tbsp each chopped fresh rosemary & thyme to the sweated veggies and then deglazed with the wine; omitted the water, added a can of cannellini beans with their liquid towards the end. I like the soup to have a decent body, which adding the bean liquid does. Excellent as a base – normally I would not have used beef stock, but it def added to the soup.

  • Question 🙂 : you said: “ is traditionally made from a rich, long-cooked homemade chicken stock. In a perfect world, we’d all make our own stock but who has time? To mimic the same flavor, I use a combination of high-quality store-bought chicken and beef broth fortified with wine and lots of veggies.”

    So what if I do have my own long-cooked stock? I make a super rich chicken bone broth/stock in my pressure cooker.

    Would you still use the beef broth with wine?

    Thank so much!!

    • Hi Andrew, I think you could get away with using your homemade chicken stock in place of the beef broth but would still use the wine. Hope that helps and that you enjoy!

      • Thank you so much!!

  • Excellent soup…loved the step-by-step directions by Jenn! I made the meatballs (used a small scooper, which worked well to get consistent size) in the morning and then whipped the other steps together about 30 minutes before card club showed up. Big success 🙂

  • Delicious! I did use kale rather than spinach (I am not fond of cooked spinach!) and would have used escarole if it was available because that seems more Italian. I also just cooked half because there are only two of us (half makes two meals for us) and I only have a tiny freezer. This is not my mother’s and grandmother’s Italian Wedding Soup but it is so good!

  • This soup is incredibly delicious! I have yet to try a recipe from Jenn I haven’t enjoyed. I might try turkey or chicken next time as I’m not a big beef and pork fan. Thank you Jenn!

Add a Comment

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