Italian Wedding Soup

Save Recipe
  • Level: Easy
  • Total: 45 min
  • Active: 35 min
  • Yield: 4 servings
Share This Recipe



1 slice white bread, torn into pieces

1 clove garlic

1/4 medium onion 

Kosher salt and freshly ground black pepper

1/4 cup fresh flat-leaf parsley leaves 

1 large egg 

8 ounces ground beef (80 percent lean) 

8 ounces ground pork 

3 tablespoons grated Parmesan 


3 tablespoons olive oil

1 medium carrot, chopped 

1 celery rib, chopped 

3/4 medium onion, chopped 

6 cups chicken broth 

1 Parmesan rind, optional 

Kosher salt and freshly ground black pepper

1/2 cup acini pepe pasta or Israeli couscous 

4 cups chopped escarole (about 1 head) 

2 tablespoons chopped fresh parsley 

Extra-virgin olive oil, for serving 

Grated Parmesan, for serving 


  1. For the meatballs: Put the bread, garlic, onion, 1/2 teaspoon salt and a few grinds of black pepper in a food processor and pulse until very finely ground. Add the parsley and pulse until finely chopped. Add the egg and pulse until combined. Add the beef, pork and Parmesan and pulse until very well mixed. Transfer the mixture to a bowl. Line a rimmed baking sheet with parchment or foil. Roll the mixture into 1-inch meatballs, transferring them to the prepared baking sheet.
  2. For the soup: Heat the olive oil in a Dutch oven or large, wide pot over medium-high heat. Add half of the meatballs and cook, stirring gently occasionally, until browned on most sides and just cooked through, 3 to 4 minutes. Remove the meatballs to the baking sheet (they will cook again so don't worry about contamination). Repeat with the remaining meatballs.
  3. Add the carrot, celery and onion to the pot and cook, stirring occasionally, until starting to soften, about 5 minutes. Add the chicken broth, Parmesan rind if using, 1/2 teaspoon salt and a few grinds of black pepper and bring to a brisk simmer. Add the pasta or couscous and cook according to the package instructions for al dente.
  4. Add the escarole and meatballs to the soup and return to a simmer. Simmer until the escarole is slightly wilted, about 2 minutes. Remove the Parmesan rind and discard. Sprinkle with the parsley and top with a drizzle of extra-virgin olive oil. Serve with more Parmesan on the side.