Italian Wedding Soup with Beef Meatballs
Photo by Markus Winkler on Pexels

Italian Wedding Soup with Beef Meatballs

From the MyKitchenBank Kitchen

Tender mini beef-and-Parmesan meatballs, sweet carrots, tiny acini di pepe pasta and silky escarole float in a savory, garlicky chicken broth. It's a one-pot Italian-American classic that comes together in about an hour.

Prep
30 min
Cook
35 min
Wait
5 min
Total
1 hr 10 min
Makes
About 3 quarts (2.8 L), 6 generous bowls

Steps

Before you start
  • This recipe is made entirely on the stovetop; no oven is needed.
  • Use 80/20 ground beef; leaner beef makes drier, tougher meatballs.
  • Wash the escarole well. Grit hides between the leaves, so swish the chopped leaves in a bowl of cold water and drain.
  • Grate the Parmesan on the small holes of a box grater so it blends into the meatballs and doesn't leave chunks.
  • Have the broth, water and a clean plate ready before you start shaping, so you can move quickly once the meatballs are formed.
  1. Soak the panko

    • In a large mixing bowl, stir together the panko and milk.
    • Let it sit for 5 minutes so the crumbs absorb the milk and form a thick, wet paste.
    • This panade keeps the meatballs tender.
    + Show details

    Ready when: The crumbs look like a soft, thick paste with no dry bits

  2. Mix the meatballs

    • Add the ground beef, egg, ½ cup Parmesan, minced garlic, parsley, ¾ teaspoon salt and pepper to the panade.
    • Mix gently with your hands for about 30 seconds, only until everything is evenly combined.
    • Stop as soon as no streaks of egg or cheese remain.
    + Show details

    Ready when: The mixture looks uniform and just holds together

    Tip: Overmixing makes dense, rubbery meatballs.

  3. Shape the meatballs

    • Wet your hands lightly with water.
    • Roll the mixture into about 36 small meatballs, each about ¾ inch (2 cm) wide, using roughly 1 tablespoon (12–14 g) of meat for each.
    • Place them on a rimmed baking sheet or plate.
    • Wash your hands well.
    + Show details

    Ready when: Meatballs are smooth, uniform in size and about the size of a large marble

    Tip: Keep the size small. Large meatballs are hard to fit on a spoon with the pasta and take longer to cook.

  4. Soften the vegetables

    • Heat the olive oil in a 6-quart (5.7 L) soup pot over medium heat until it shimmers.
    • Add the onion, carrots and celery with a pinch of salt.
    • Cook, stirring every minute or so, for 7 to 8 minutes.
    • Add the sliced garlic and cook for 30 seconds, stirring constantly.
    + Show details

    Ready when: Onion is translucent and soft, carrots are slightly tender, and the garlic smells fragrant but hasn't browned

    Tip: Don't let the garlic brown. It turns bitter in the broth.

  5. Bring broth to a simmer

    • Pour in the chicken broth and water.
    • Add the Parmesan rind if using.
    • Raise the heat to high and bring to a gentle boil, about 6 minutes.
    • Reduce the heat to medium-low so the liquid is simmering with small, steady bubbles.
    + Show details

    Ready when: Small bubbles break the surface steadily across the pot

    Tip: A hard boil will break the meatballs apart in the next step, so lower the heat before adding them.

  6. Simmer the meatballs

    • Gently drop the meatballs into the simmering broth one at a time, spacing them out so they don't stick together.
    • Simmer, uncovered, for 8 to 10 minutes without stirring for the first 3 minutes, then stir gently.
    • Cook until the meatballs are firm and cooked through, and an instant-read thermometer inserted into one reads 160°F (71°C).
    + Show details

    Ready when: Meatballs are firm, no longer pink inside, and reach 160°F (71°C)

    Tip: Skim off any foam that rises to the surface with a spoon for a clearer broth.

  7. Cook the pasta

    • Stir in the acini di pepe.
    • Raise the heat to medium and simmer for 7 to 8 minutes, stirring occasionally to keep the tiny pasta from sticking to the bottom, until the pasta is tender with a slight bite.
    + Show details

    Ready when: Taste a piece: it's soft but still has a slight chew in the center

    Tip: Acini di pepe keeps absorbing broth as it sits, so don't overcook it. If making ahead, see the storage notes.

  8. Wilt the escarole

    • Remove the Parmesan rind, if used, and discard it.
    • Stir in the escarole in 2 handfuls and cook for 2 to 3 minutes, stirring, until the leaves are wilted and tender but still bright green.
    + Show details

    Ready when: Leaves are limp, glossy and tender, with a slight bitter-sweet flavor

    Tip: Escarole is bulky at first but cooks down quickly, so don't worry if the pot looks full.

  9. Season and serve

    • Taste the broth and add salt as needed, usually ½ to 1 teaspoon, plus black pepper if you like.
    • Stir in the lemon juice if using for brightness.
    • Ladle into warm bowls, giving each about 6 meatballs, and top with the grated Parmesan.
    + Show details

    Ready when: Broth tastes savory and well seasoned, not flat

    Tip: Season at the end. The broth, Parmesan and rind all add salt.

Good to know

Tips
  • Simmer the meatballs directly in the broth rather than browning them. It's easier, and it flavors the soup.
  • Keep the meatballs small and uniform so they cook evenly at the same rate.
  • Add the pasta only after the meatballs are cooked, so it doesn't turn mushy.
  • A Parmesan rind adds a savory depth to the broth; save rinds in the freezer for soups.
Make ahead

Shape the raw meatballs up to 1 day ahead, cover and refrigerate on the baking sheet. The vegetables can be chopped 1 day ahead. For the best leftovers, cook the pasta separately and add it to each bowl when serving.

Storage & reheating

Room temperature: no more than 2 hours. Refrigerator: store in an airtight container for up to 3 days. The pasta will absorb broth, so add a splash of broth or water when reheating. Freezer: freeze for up to 3 months (best without the pasta). Reheat gently on the stovetop over medium-low heat until steaming hot, 165°F (74°C), without boiling hard.

Substitutions
  • escarole → Baby spinach or curly endive. Use 6 oz (170 g) spinach and stir in for only 1 minute. Curly endive can be used 1:1 and cooked the same time.
  • acini di pepe pasta → Orzo or ditalini. Orzo cooks in about the same time. Ditalini may need 1 to 2 extra minutes.
  • ground beef (80/20) → Half ground beef and half ground pork, or ground turkey. Beef and pork give a richer meatball. Turkey makes a leaner one and must also reach 165°F (74°C).
  • panko breadcrumbs → Plain dry breadcrumbs. Use 6 tablespoons (about 25 g), since fine crumbs are denser than panko.

More soups & stews

See all →

Find more like this

Meal
Dinner
Cuisine
Italian
Main ingredient
Ground BeefPasta
Method
Stovetop
Quick & Easy
EasyOne-Pot

Reviews (0)