The soup serviceMeatball · pasta · green

Cooking Classy · six bowls

Italian Wedding Soup

A deeply savory Italian-American wedding soup with tender beef-and-pork meatballs, sweet mirepoix, tiny pasta, spinach, and Parmesan.

Cook the soup
A white bowl of Italian wedding soup filled with tiny round pasta, small meatballs, vegetables, and herbs.
A restaurant bowl of Italian wedding soup shows the defining scale: tiny pasta and bite-size meatballs suspended in broth. The photographed restaurant version is illustrative, not Jaclyn’s exact formula.Photo by Sarah Stierch · CC BY 4.0
Prep
25 min
Cook
25 min
Yield
12 cups
Serves
6

The wedding is between ingredients, not people. In this Italian-American bowl, little browned meatballs, sweet vegetables, tiny pasta, greens, broth, and Parmesan all meet at spoon scale. Jaclyn’s version is generous but clear: a full pound of meat becomes dozens of small meatballs, while acini di pepe gives body without taking over the pot.

The best decisions are about sequence. Brown the meatballs for flavor but leave the centers unfinished; soften the mirepoix while the skillet works; simmer meatballs and pasta together; then let spinach arrive only for the final minute. Nothing is difficult, but every element keeps its own texture.

“Jaclyn’s Cooking Classy formula layers browned herb-flecked meatballs, fresh vegetables, acini di pepe, and spinach into a generous pot of chicken broth.”

Brown first

The meatballs take color in two skillet batches, then finish gently in broth so their small centers stay tender.

One shared clock

The pasta and browned meatballs simmer together for about ten minutes; spinach needs only the final minute.

Season at the end

Low-sodium broth leaves room for the Parmesan, meatballs, and reducing soup to reveal their salt before the final adjustment.

Ingredient editMeat crumb pasta leaf

Four scales that make one spoonful

The soup succeeds when meatballs, vegetables, pasta, and greens are all cut or shaped small enough to travel together.

01

Beef + pork

Eight ounces of each gives the mini meatballs beefy depth and pork’s softer richness without turning the broth heavy.

Keep the mix cold, scatter the binder across it, and stop handling as soon as the ingredients are evenly distributed.
02

Fresh bread crumbs + egg

Fresh crumbs hold moisture while one egg binds the pound of meat strongly enough for repeated turning and simmering.

Pulse or tear fresh hearty white bread. Dry shelf crumbs absorb more liquid and change the source texture.
03

Acini di pepe

One cup of tiny pasta makes every spoonful substantial and gives the clear broth a distinctive pebbled rhythm.

Stir the pot as it simmers; the small pieces settle easily. Orzo is the source’s direct substitute.
04

Spinach + Parmesan

Six ounces of spinach brings a fresh green finish, while Parmesan seasons both the meatballs and the bowl.

Wilt spinach for only the final minute and wait to judge the broth’s salt until the serving cheese is considered.

Before browningDice plate roll chop

Set the small work before the pot gets loud

Compact cuts, a clean landing plate, evenly sized meatballs, and dry spinach keep the two-pan method calm.

Brown + pearlThe two defining scales

A browned bite and a hundred tiny grains

A pile of small browned beef-and-pork meatballs resting on white paper towels.
These beef-and-pork meatballs were made specifically for Italian wedding soup. Their small size and browned faces match the source method.Photo by Sarah Stierch · CC0 1.0
Brown is not done

The first four minutes are for flavor and shape. The centers finish safely in broth, where a thermometer—not the browned exterior—confirms 160°F.

Tiny pale acini di pepe pasta visible through a blue pasta package window.
Acini di pepe are smaller than orzo and disperse through every spoonful. The source allows orzo when the tiny round pasta is unavailable.Photo by Nyh · Public domain

Fifty-minute clockShape brown soften simmer wilt

Two pans converge on one ten-minute simmer

The meatball skillet and soup pot work in parallel, then pasta, meatballs, and broth finish on the same compact clock.

  1. 0:00

    Season lightly

    Scatter crumbs, herbs, Parmesan, egg, salt, and pepper over the two ground meats.

  2. 0:08

    Shape the small set

    Roll loose 3/4- to 1-inch meatballs and arrange them on a plate without compressing.

  3. 0:13

    Brown in two batches

    Give each batch about four minutes, turning for color on two or three sides.

  4. 0:17

    Soften the mirepoix

    Sauté carrot, onion, and celery for 6–8 minutes, then cook the garlic for one minute.

  5. 0:26

    Join broth, pasta, and meatballs

    Bring the broth to a boil, add the pasta and meatballs, cover, and reduce to a steady simmer.

  6. 0:36

    Read pasta and centers

    Look for tender pasta and 160°F meatballs, then wilt the spinach during the last minute.

Doneness cuesLoose browned tender bright

Read tenderness at four different moments

The mix, skillet, covered pot, and final green each have a separate visual signal; none should be judged by time alone.

01

Loose, tacky meatball mix

The mixture holds a small ball but has not been kneaded into a smooth paste. Visible herb flecks remain distinct.

02

Brown faces, soft centers

After the skillet, two or three sides have color but the meatballs are intentionally not cooked through.

03

Tender pasta, clear broth

Acini di pepe has lost its hard center while the broth stays loose enough to move easily around a ladle.

04

Bright, just-wilted spinach

The leaves collapse into the soup without turning khaki or losing their fresh contrast.

Serve + storeLadle cool keep loosen

The first bowl is brightest; leftovers need broth

Tiny pasta keeps absorbing after the heat stops, so prompt serving and a deliberate reheating plan protect the soup.

Serve immediately

The first bowls have the clearest broth and springiest pasta. Finish with Parmesan and crusty bread at the table.

Cool shallow and prompt

Divide a large pot into shallow covered containers and refrigerate within two hours rather than cooling the whole mass slowly.

Keep three to four days

Store at 40°F or below. The pasta will drink broth, so reserve extra low-sodium broth for reheating.

Reheat to 165°F

Warm only the portion needed, loosening with broth as necessary. Frozen soup keeps up to three months, though pasta softens.

Italian wedding soup

Bite-size beef-and-pork meatballs, mirepoix, acini di pepe, and spinach simmered in chicken broth and finished with Parmesan.

Italian Wedding SoupMeatball SoupAcini di PepeSpinachBeef and PorkOne-Pot Supper

Ingredients

Mini meatballs

  • 8 ounces lean ground beef, preferably 80% to 90% lean
  • 8 ounces ground pork
  • 1/2 cup fresh white bread crumbs, from fresh hearty bread rather than dried crumbs
  • 1/4 cup chopped fresh parsley
  • 1 1/2 teaspoons minced fresh oregano, or 3/4 teaspoon dried oregano
  • 1/2 cup finely shredded Parmesan cheese
  • 1 large egg
  • 1 teaspoon salt
  • 1/4 teaspoon freshly ground black pepper
  • 1 tablespoon olive oil

Soup

  • 1 tablespoon olive oil
  • 1 1/4 cups carrots, cut into 1/4-inch dice
  • 1 1/4 cups diced yellow onion
  • 3/4 cup celery, cut into 1/4-inch dice
  • 4 garlic cloves, minced (about 1 1/2 tablespoons)
  • 5 (14.5-ounce) cans low-sodium chicken broth
  • Salt and freshly ground black pepper, to taste
  • 1 cup dry acini di pepe or orzo pasta
  • 6 ounces fresh baby spinach, roughly chopped
  • Finely shredded Parmesan cheese, for serving

Directions

  1. Add the ground beef and pork to a large bowl. Scatter over the fresh bread crumbs, parsley, oregano, Parmesan, egg, 1 teaspoon salt, and 1/4 teaspoon pepper.
  2. Using clean hands or two forks, toss and break up the meat just until the seasonings are evenly distributed. Do not knead or compress the mixture. Shape into very small meatballs, about 3/4 to 1 inch wide, and place them on a large plate.
  3. Heat 1 tablespoon olive oil in a large nonstick skillet over medium-high heat. Add half the meatballs in one uncrowded layer and brown on two or three sides, turning gently, about 4 minutes total. Move them to a paper-towel-lined plate, leave the oil in the skillet, and repeat with the remaining meatballs. They will still be undercooked inside and will finish in the soup.
  4. While the meatballs brown, heat the remaining 1 tablespoon olive oil in a large soup pot over medium-high heat. Add the carrots, onion, and celery and sauté, stirring occasionally, until softened, 6 to 8 minutes. Add the garlic and cook for 1 minute without letting it brown.
  5. Pour in the chicken broth, season lightly with salt and pepper, and bring to a boil. Stir in the dry pasta and all the browned meatballs, then reduce the heat to medium-low.
  6. Cover and simmer, stirring occasionally so the tiny pasta does not settle and stick, until the pasta is tender and the centers of the meatballs reach 160°F (71°C), about 10 minutes.
  7. Stir in the chopped spinach during the final minute, just until wilted and bright green. Taste the broth and adjust salt and pepper only after the broth, Parmesan, and meatballs have had time to season it.
  8. Ladle into warm bowls and finish each serving with finely shredded Parmesan. Serve immediately while the pasta is tender and the broth is still loose.

Source and technique references: the queued legacy path, Jaclyn’s complete Cooking Classy recipe and testing notes, King Arthur Baking’s wedding soup and small-meatball method, Giada De Laurentiis’s one-inch soup-meatball method, and FoodSafety.gov’s ground-meat and leftovers temperature chart.

Image credits

Photography is used under open licenses with attribution: Sarah Stierch, Sarah Stierch, and Nyh.