Posted on — Leave a comment

Italian Wedding Soup Recipe: Tender Meatballs, Savory Broth & Easy

Bowl of Italian wedding soup with small meatballs, tiny pasta, diced carrots and celery, escarole, and light golden broth.

A good Italian wedding soup should feel busy without feeling crowded. One spoonful can hold a tender little meatball, tiny pasta, sweet carrot, wilted escarole and enough hot, savory broth to carry all of it.

This Italian wedding soup recipe is built for that kind of spoonful. The beef-and-pork meatballs stay small and poach directly in the broth, so you can skip browning dozens of them in batches. Acini di pepe gives you pasta in almost every bite without taking over the pot, while escarole brings a gentle bitterness that keeps the meat and Parmesan from feeling too rich.

Easy here means straightforward, not rushed: no homemade stock, no meatball-browning marathon and no complicated finish.

Planning leftovers? Cook the acini di pepe separately in salted water and add it bowl by bowl. Eating most of the soup today? Cook it directly in the broth and keep the recipe to one pot.

Italian Wedding Soup Recipe

Tender beef-and-pork mini meatballs, acini di pepe and escarole in a light chicken broth.

Prep
35–40 minutes

Cook
30 minutes

Total
1 hour 5–10 minutes

Serves
6 generously or 8 smaller bowls

Equipment

  • 6- to 7-quart (5.7- to 6.6-liter) Dutch oven or heavy soup pot
  • Large mixing bowl
  • Chef’s knife and cutting board
  • 2-teaspoon cookie scoop or measuring spoon, optional
  • Instant-read thermometer, recommended
  • Small saucepan, only if cooking the pasta separately

Ingredients

For the Mini Meatballs

  • ⅓ cup (35 g) plain fine breadcrumbs
  • ¼ cup (60 ml) whole milk
  • 8 oz (227 g) ground beef, preferably 85–90% lean
  • 8 oz (227 g) ground pork
  • 1 large egg
  • ⅓ cup (30 g) finely grated Parmesan or Parmigiano-Reggiano
  • 2 tablespoons finely chopped flat-leaf parsley
  • 1 small garlic clove, finely grated or minced
  • ¾ teaspoon fine sea salt
  • ½ teaspoon freshly ground black pepper

For the Soup

  • 1 tablespoon (15 ml) olive oil
  • 1 medium yellow onion, finely diced, about 6 oz (170 g)
  • 2 medium carrots, cut into roughly ¼-inch (6-mm) dice, about 5 oz (140–150 g)
  • 2 celery ribs, cut into roughly ¼-inch (6-mm) dice, about 3½ oz (100 g)
  • 2 garlic cloves, minced
  • 8 cups (1.9 L) low-sodium chicken broth or stock
  • 1 Parmesan rind, about 2–3 inches (5–7.5 cm), optional
  • ½ cup (about 3 oz / 85 g) dry acini di pepe
  • 6 oz (170 g) escarole, thoroughly washed and cut into roughly 1-inch (2.5-cm) pieces
  • Fine sea salt and freshly ground black pepper, as needed
  • Finely grated Parmesan or Pecorino Romano, for serving

Instructions

Make the Mini Meatballs

  1. Make the panade. Combine the breadcrumbs and milk in a large bowl. Leave for about 5 minutes, until the crumbs have absorbed the milk and softened.
  2. Mix the meatballs. Add the beef, pork, egg, Parmesan, parsley, garlic, salt and pepper. Mix with your fingers or a fork only until everything is evenly distributed. If you want to check the seasoning before shaping the whole batch, cook a teaspoonful in a small skillet, taste it and adjust now.
  3. Shape them small. Portion about 2 teaspoons of mixture at a time and roll lightly between damp hands. Aim for 1-inch (2.5-cm) meatballs. You should get about 55 to 60. They do not need to be perfectly round.

Build the Broth and Poach

  1. Soften the vegetables. Heat the olive oil over medium heat. Add the onion, carrots and celery with a small pinch of salt. Cook for 6 to 8 minutes, stirring occasionally, until softened but not browned. Add the garlic and cook for about 30 seconds, until fragrant.
  2. Start the broth. Pour in the chicken broth and add the Parmesan rind, if using. Bring just to a boil, then lower the heat to a steady simmer.
  3. Poach the meatballs. Lower them into the pot in several quick groups so they are spread around the broth. Let the broth return to a simmer, then leave the meatballs undisturbed for about 2 minutes before stirring gently. There is no need to brown them first.

Finish the Soup

  1. Cook the pasta. For the one-pot version, add the acini di pepe after those first 2 minutes and cook according to the package timing. If your pasta cooks in only 5 to 6 minutes, give the meatballs another minute or two first. For the separate-pasta version, cook the acini in a second pot of salted water and drain while still al dente.
  2. Check a meatball. For the one-pot beef-and-pork version, check one of the larger meatballs when the pasta has 2 to 3 minutes left; it should reach 160°F (71°C). If the pasta is cooking separately, start checking after about 8 minutes of simmering. Poultry meatballs need to reach 165°F (74°C). If necessary, simmer another minute and check again. See the USDA safe-temperature guidance for ground meats.
  3. Add the greens. Once the meatballs are at temperature, stir in the escarole and simmer for 2 to 3 minutes, until tender but not limp. In the one-pot version, the pasta should finish at about the same time. Baby spinach needs only about 1 minute.
  4. Taste the pot. Remove the Parmesan rind. Taste the broth and adjust the salt and black pepper. Cut open the meatball you temperature-checked if you want to see the texture too: the center should look moist and loosely textured, not dense or rubbery.
  5. Serve while it’s hot. If the pasta was cooked separately, divide it among the bowls first. Ladle over the soup, grate Parmesan or Pecorino over the steam and finish with black pepper.

Recipe Notes

  • Chicken or turkey: Use 1 lb (454 g) ground chicken or turkey in place of the beef and pork. Keep the panade, mix lightly and cook to 165°F (74°C).
  • Frozen meatballs: Use about 1¼ lb (570 g) mini meatballs and follow the package heating directions.
  • Freezing: Freeze without pasta and cook fresh pasta when reheating.

Different acini di pepe brands cook at different speeds, so the one-pot finish is not governed by one fixed clock. Use the pasta’s package timing to decide when it goes in, then let the meatball temperature tell you when the greens can join the pot.

Italian wedding soup cooking sequence showing meatballs, tiny pasta, a thermometer check, and escarole added near the end.
Use the thermometer as the handoff between stages. Once the beef-and-pork meatballs are safely cooked, the escarole can go in for its brief final wilt while the pasta reaches tenderness.

The Spoonful Test: What Good Italian Wedding Soup Looks Like

The easiest way to judge the proportions is to look at a spoonful.

You should be able to pick up a mini meatball, a few pieces of pasta, some finely diced vegetables and a little escarole while still getting broth with the bite. No single ingredient should shove everything else aside.

Keep everything spoon-sized: 1-inch meatballs, small carrot and celery, tiny pasta and chopped greens. The restrained ½ cup of dry pasta matters here too.

A meatball that fills the whole spoon is too large. A pot packed with pasta stops eating like wedding soup. At the other end, mostly broth with an occasional meatball floating through it feels skimpy.

Brothy but busy is the target.

Soup spoon holding one small meatball, acini di pepe, diced vegetables, escarole, and broth.
Make this check after the pasta has hydrated, not while judging the dry ingredients. Even then, an ordinary soup spoon should still carry visible broth around the meatball, pasta, vegetables and greens rather than looking tightly packed.

Tender Mini Meatballs Without Browning

Wedding soup meatballs have a slightly awkward job. They have to hold together in the broth, but they should still give easily when you bite into one.

Build a Tender Mixture

Milk-softened breadcrumbs hold moisture inside the meatballs as they cook. That extra moisture matters because these meatballs cook through quickly. Beef brings deeper flavor; pork helps keep them juicy. An even 8-ounce (227-g) split works nicely here.

Soft breadcrumb-and-milk panade in a blue bowl with a spoon drawn through the hydrated mixture.
Drag a spoon through the hydrated panade before adding the meat. The mixture should leave a soft track without loose milk running into it; meanwhile, no dry breadcrumbs should remain around the sides of the bowl.

Mix Less Than You Think

Once the meat goes into the bowl, mix only until the panade, egg, cheese and seasonings disappear evenly through it. Stop there. Working the mixture until it looks smooth gives you firmer meatballs.

Roll them lightly too. Don’t fuss over perfect spheres; roughly even is enough.

Loose, irregular meatball mixture beside a smoother and more compact overmixed mixture.
Look at the surface texture: gently mixed meat stays craggy and irregular, whereas overworked meat becomes smoother and tackier. Once everything is distributed, stop mixing—and use the same light pressure when rolling the meatballs.

Already trying to diagnose dense meatballs? Jump to the tender-vs-tough meatball check.

Making full-size meatballs another day? The same light mixing carries over to the juicy baked meatball recipe, where they brown in the oven instead of poaching in broth.

Keep Them Small

About 2 teaspoons of mixture gives you a meatball around 1 inch (2.5 cm) across. Expect about 55 to 60 from the batch. Smaller than that gets needlessly fiddly; much larger starts crowding the spoon.

Raw mini meatball beside a ruler and two-teaspoon scoop, with many similarly sized meatballs arranged on a tray.
Calibrate the first few meatballs against the 1-inch target, then match the rest by eye instead of measuring all 55–60 individually. Consistent size matters because it helps the batch reach doneness at roughly the same time.

Seasoning check: fry a teaspoon-sized piece of the mixture before shaping the batch. It is much easier to fix bland meatballs while the remaining mixture is still in the bowl.

Poach Them Directly

You do not need to brown the meatballs first. Poaching keeps them soft and saves you from browning nearly 60 in batches. Their juices season the broth while they cook.

Do not start counting cooking time the moment the first cold meatball hits the pot. Wait for the broth to come back to a simmer, give them a couple of minutes to set, then stir carefully.

Don’t worry if the broth clouds slightly while the raw meatballs cook. This is soup, not consommé.

Small meatballs poaching in pale broth with diced carrots and celery at a gentle simmer.
Use the broth surface as your heat gauge. Gentle movement and small bubbles are enough; if the mini meatballs are colliding, bouncing or rolling around the pot, the simmer is stronger than it needs to be.

Before the greens go in, check one of the larger meatballs in the center so the final simmer does not become guesswork.

Instant-read thermometer inserted into the center of a small poached meatball in broth.
Probe one of the largest beef-and-pork meatballs and aim for its center, preferably from the side. That gives a more useful reading than testing a smaller piece or barely inserting the thermometer into the outer edge.

Build a Savory Broth Without Making It Heavy

Start with a chicken broth you already like, then keep the aromatics small enough to belong on the same spoon as everything else. Roughly ¼-inch carrot and celery soften quickly without disappearing; cook them with the onion until sweet but not browned, add the garlic briefly, then pour in the broth. As the meatballs poach, they deepen it on their own.

Finely diced carrots, celery, and onion beside a ruler on a dark cutting surface.
Uniform thickness matters more than perfect cubes. Keep the carrot and celery pieces reasonably similar so they soften together, while the onion can be cut finer because it is meant to melt more quietly into the broth.

A good bowl should make you want another spoonful of the broth even before you catch a meatball. It should taste full, but still feel light enough that the greens, pasta and meatballs stand out.

Have a Parmesan rind? Drop it in while the soup simmers and fish it out before serving. The Parmesan and Parmigiano-Reggiano guide explains the labels and why those leftover rinds are worth saving.

Taste checkpoint: once the meatballs are cooked, taste the broth before adding the final salt. The meat, cheese and rind may already have done more seasoning than you expect.

Choosing the Pasta and Greens

Acini di Pepe Fits the Soup

Acini di pepe is a classic tiny pasta for Italian-American wedding soup. It scatters through the broth and gives you pasta in almost every bite without turning the soup into a bowl of noodles.

The ½ cup in the ingredient list can look stingy when dry. Trust the pot. Those tiny beads swell considerably as they cook.

Dry acini di pepe beside a larger portion of cooked acini di pepe showing how the pasta expands.
Use the cooked side of this comparison as the warning against over-measuring: a small dry portion becomes enough pasta to appear in nearly every spoonful without crowding out the broth.

No acini di pepe? Use pastina or stelline if you can find them. Ditalini and orzo work too, and pearl couscous is a chewier fallback. When changing shapes, stay close to 3 oz (85 g) dry rather than matching ½ cup exactly; different shapes fill a measuring cup differently.

For leftovers, keep the pasta separate. It continues drinking broth in the refrigerator.

Bowl of Italian wedding soup beside a separate portion of cooked acini di pepe for individual servings.
For leftovers, add cooked acini only to the bowls you are serving. Keeping the storage pot pasta-free prevents the broth from disappearing overnight.

Already dealing with a thick leftover batch? Jump to the pasta-and-broth rescue.

Escarole or Spinach?

Escarole is the first choice here; baby spinach is the easiest substitute.

GreenBest Use & Timing
EscaroleMildly bitter with enough body to hold up in broth. Add for the final 2–3 minutes.
Baby spinachMild and very tender. Add for about the final minute.
Curly endiveMore noticeably bitter but well suited to soup. Add during the final few minutes.
KaleRemove tough stems, chop it smaller and add it earlier; simmer until tender.

Escarole needs only a short finish in the hot broth. Add it for the final 2–3 minutes and stop while the leaves are tender but the pale ribs still keep a little structure.

Wilted green escarole in golden broth with small meatballs and diced vegetables.
Check both parts of the leaf. The green portion should be wilted and glossy, while the pale rib still keeps some recognizable structure; once everything turns limp and dull olive, the escarole has gone past its best finish.

Escarole’s slight bitterness balances the beef, pork and Parmesan. If you can only find spinach, use it and make dinner.

Shopping warning: curly endive and Belgian endive are different vegetables. The compact pale heads sold as Belgian endive have a different texture and flavor, so they won’t behave the same way as escarole in this soup.

Escarole, baby spinach, curly endive, kale, and Belgian endive arranged and labeled for comparison.
Use shape when produce labels are confusing: escarole has broad loose leaves and pale ribs, curly endive is frilly, while Belgian endive is compact, pale and spear-shaped.

Serving the soup tonight? No-knead focaccia gives you a crisp olive-oil bottom for dipping and a soft middle for catching the broth.

Torn piece of focaccia being dipped into a bowl of Italian wedding soup.
Dip the torn edge into the soup so the open crumb catches broth and tiny pasta while the olive-oil crust still gives you some crisp contrast.

When Italian Wedding Soup Goes Wrong

The Meatballs Are Tough

The mixture was probably worked or packed too firmly. Mix only until combined, shape lightly and keep the soup at a simmer instead of a hard boil. Very lean meat can also produce a firmer meatball.

Cut tender meatball with a loose irregular interior beside a denser, smoother meatball labeled tough.
The cross-section is more revealing than exterior color. A tender meatball has a moist, irregular ground-meat crumb; by contrast, an overworked one looks smoother, tighter and more compressed because the mixture was handled too aggressively.

The Meatballs Are Falling Apart

Let the broth return to a simmer after the cold meatballs go in, then leave them alone for about 2 minutes before stirring. If the mixture itself feels unusually wet, double-check the breadcrumb and egg quantities.

The Broth Tastes Flat—or Feels Too Heavy

Flat broth may simply need salt. If the salt level is right but the chicken flavor is weak, a small amount of concentrated chicken base can help; brands vary in sodium, so add it cautiously.

For a greasy soup, skim excess fat from the surface. Very fatty sausage, unusually fatty ground meat or an intense bone broth can overwhelm a bowl that should still feel light enough to sip.

The Pasta Swallowed the Broth—or Turned Soft

Tiny pasta keeps hydrating after dinner. Loosen this batch with more chicken broth when reheating. Next time, cook the pasta separately if you know there will be leftovers.

Thick leftover Italian wedding soup being loosened with additional broth poured into the pot.
Reheat the leftover soup before deciding how much broth to add, because cold starch makes the pot look thicker than it will when hot. Then loosen it gradually until the ingredients move freely through the broth again.

The Escarole Tastes Too Bitter

Escarole naturally has some bitterness, and individual heads vary. Use more of the pale inner leaves, combine it with baby spinach or switch to spinach completely if this head is stronger than you enjoy.

Shortcuts, Swaps & Slow Cooker

The basic structure is fairly forgiving: keep the meatballs spoon-sized, keep the pasta restrained and don’t overwhelm the broth. Within those limits, the soup is flexible.

Frozen Mini Meatballs

Frozen mini meatballs work well here. For this amount of broth, about 1¼ lb (570 g) gives you a similar starting balance, although the exact count will depend on their size. Follow the package directions according to whether the meatballs are raw or already cooked. If all you have are larger cooked meatballs, cut them into spoon-friendly pieces.

Chicken or Turkey Meatballs

Use 1 lb (454 g) ground chicken or turkey in place of the beef and pork. Keep the panade and handle the mixture lightly. Poultry meatballs need to reach 165°F (74°C).

Using Italian Sausage

For a sausage version, replace the 8 oz (227 g) ground pork with 8 oz (227 g) mild Italian sausage. Use bulk sausage or remove it from the casing. Because sausage is already seasoned, omit the ¾ teaspoon salt at first. Cook a small test piece, taste it, then add salt only if needed.

Gluten-Free Italian Wedding Soup

Use certified gluten-free breadcrumbs and a small gluten-free pasta. Check the chicken broth too, along with the label on any packaged sausage or frozen meatballs you use.

Slow Cooker Method

Add the onion, carrots, celery, garlic, broth, Parmesan rind and the shaped meatballs to the slow cooker. Skip the olive oil unless you choose to sauté the vegetables in it first. If using raw frozen meatballs, thaw them completely before they go into the cooker.

Cook for 4–6 hours on LOW or 2–3 hours on HIGH, until the vegetables are tender and a beef-and-pork meatball reaches 160°F (71°C).

To cook the pasta in the slow cooker, switch to HIGH and add the acini di pepe for roughly the final 20–30 minutes. Start checking around 15 minutes because slow cookers vary. Add escarole when the pasta is nearly tender; baby spinach needs only the last few minutes.

Dry acini di pepe being added near the end of cooking to Italian wedding soup in a slow cooker.
Once acini di pepe enters the slow cooker, start paying attention much more frequently. Tiny pasta can move from firm to overly soft quickly, and residual heat keeps working even after you switch the cooker to WARM.

Keep the Next Bowl as Good as the First

Shape the Meatballs Ahead

The fiddliest part of this recipe is shaping all those meatballs. Make them a day ahead, cover and refrigerate them, then start the soup when you are ready to cook.

Refrigerating and Reheating

Divide leftovers into shallow containers and refrigerate within 2 hours. Keep them refrigerated for up to 3–4 days. Reheat the portion you need to 165°F (74°C).

Separate pasta makes reheating easiest. If the pasta is already in the soup, add enough chicken broth or water to loosen the bowl as it warms.

Freezing Italian Wedding Soup

Freeze the soup without pasta. The meatballs and broth hold up well; the vegetables will be softer after freezing and thawing. For best quality, use frozen wedding soup within 2–3 months.

Thaw in the refrigerator and reheat gently on the stovetop. Cook fresh pasta while the soup warms. A handful of baby spinach added at the end can bring fresh green color back to a thawed batch.

Container of Italian wedding soup stored without pasta, with cooked acini di pepe kept separately.
Freeze the pasta-free soup in portions close to what you normally reheat at one time. That way, you can thaw only the meatballs, vegetables and broth you need while cooking a fresh amount of acini di pepe alongside it.

Why Is It Called Italian Wedding Soup?

Italian wedding soup is not named for a wedding ceremony. The English name is generally traced to southern Italian maritata soups—“married” soups in which ingredients such as meat, greens and broth come together in the same pot.

There is no single version every Italian family makes. Related soups may use different meats, different greens, egg ribbons or no pasta at all.

This recipe follows the familiar Italian-American version built around tiny meatballs, small pasta and leafy greens in chicken broth.

When the soup is in balance, one spoonful tells you: a tender little meatball, pasta, vegetables and greens, all with enough broth around them to keep it unmistakably soup.

Leave a Reply

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