This Italian wedding soup recipe pairs tender beef-and-pork meatballs with tiny pasta, spinach, and a savory broth. It is a cozy one-pot dinner with a realistic 55-minute timeline: about 25 minutes to prepare and 30 minutes on the stove. The name refers to the “marriage” of meat and greens, rather than a traditional wedding course.

Why this Italian wedding soup works
Small meatballs cook quickly and stay tender when the mixture is handled gently. A low simmer cooks them through without breaking them apart, while adding the pasta at the right point keeps it from turning mushy. Baby spinach goes in last, so it wilts into the hot soup but keeps its fresh color.
Ingredients and smart substitutions
The meatballs use equal amounts of lean ground beef and pork, plus egg, breadcrumbs, Parmesan, parsley, garlic, salt, and pepper. Use plain panko or fine breadcrumbs; both help bind the mixture. For a lighter flavor, replace the pork with ground turkey, but avoid extra-lean meat if you want the meatballs to remain juicy. Acini di pepe is traditional in many American versions; orzo is a convenient substitute. Low-sodium broth gives you better control over seasoning.

How to make the soup
Combine the beef, pork, egg, breadcrumbs, Parmesan, parsley, garlic, salt, and pepper, mixing only until the ingredients hold together. Roll into ¾-inch meatballs. In a large Dutch oven, soften diced onion, carrots, and celery in olive oil for 5 to 6 minutes. Add the chicken broth and bring it to a gentle boil. Stir in the pasta and cook according to the package directions. Lower the soup to a steady simmer, add the meatballs carefully, and cook 6 to 8 minutes, until the pasta is tender and the center of a meatball reaches 160°F (71°C). Stir in the spinach for the final 1 to 2 minutes. Taste the broth, adjust the seasoning, and serve with extra Parmesan.
Tips for tender meatballs and leftovers
Wet your hands lightly before shaping the meatballs to reduce sticking, and keep them close to the same size. Avoid a hard boil after adding them. If you expect leftovers, cook the pasta separately and add it to each bowl; pasta left in the broth continues absorbing liquid. Refrigerate cooled soup in a covered container for up to 3 days. Reheat gently on the stove until steaming throughout. Freeze the broth, vegetables, and cooked meatballs without pasta for up to 2 months, then add freshly cooked pasta when serving.
What to serve with Italian wedding soup
Make it a complete meal with warm homemade garlic bread or a crisp Classic Caesar Salad. For another vegetable-forward bowl, try our Hearty Lentil Soup.
Estimated nutrition
Approximate values per serving (1 of 6); actual nutrition varies with meat, broth, pasta, and Parmesan brands.
| Nutrient | Estimated amount |
|---|---|
| Calories | 380 kcal |
| Carbohydrates | 29 g |
| Protein | 25 g |
| Total fat | 18 g |
| Saturated fat | 6 g |
| Fiber | 3 g |
| Total sugars | 5 g |
| Sodium | 810 mg |

Italian Wedding Soup
Ingredients
Method
- In a bowl, combine the beef, pork, egg, breadcrumbs, Parmesan, parsley, garlic, salt, and pepper. Mix gently just until combined. Roll into small 3/4-inch meatballs and set aside.
- Heat the olive oil in a large Dutch oven over medium heat. Add the onion, carrots, and celery; cook 5 to 6 minutes, stirring, until beginning to soften.
- Pour in the chicken broth and bring to a gentle boil. Add the pasta and cook according to its package timing, stirring occasionally.
- Lower the heat to a steady simmer and carefully add the meatballs. Cook 6 to 8 minutes, until the pasta is tender and meatballs reach 160°F (71°C) at the center.
- Stir in the spinach and cook 1 to 2 minutes, just until wilted. Taste the broth and adjust salt and pepper.
- Ladle into bowls and serve with extra Parmesan and parsley.



