ADVERTISEMENT

Meatball Wedding Soup – Cozy 50-Minute One-Pot Dinner

By September 18, 202610 min read

Meatball Wedding Soup is the Italian-American classic that shows up at weddings, Sunday dinners, and honestly any night you want a bowl of comfort. You get juicy little meatballs, silky escarole, and tender acini di pepe pasta all swimming in a golden chicken broth. It tastes like a restaurant bowl but comes together in one pot on your own stove.

Advertisements1

The name comes from the Italian phrase for 'married soup' – minestra maritata – because the greens and the meat are 'married' together in the broth. In Italian-American kitchens, that marriage got its own twist: tiny meatballs and pastina. My version keeps the meatballs small (about 1 inch) so they cook fast and stay tender, and I stir an egg-and-parmesan mixture into the hot broth at the end for that signature silky finish.

You do not need a special occasion. A pot of this soup on a Tuesday, with crusty bread and a shower of parmesan, is exactly the kind of small effort that makes a weeknight feel generous.

Why You'll Love This Recipe

1

One Pot, Big Payoff: Everything cooks in a single Dutch oven, so cleanup is a quick rinse and one sponge.
2

Tiny Meatballs, Maximum Tenderness: The 1-inch size means they poach gently in broth and stay juicy instead of turning rubbery.
3

Silky Egg Finish: Whisking egg and parmesan into the hot broth adds body and richness without a drop of cream.
4

Freezer-Friendly: This soup freezes beautifully, so you can stash half for a night when cooking is not happening.

About the Ingredients

1 lb (450g) ground beef (80/20 blend)

The 80/20 ratio gives you juicy meatballs; anything leaner turns dry after poaching. Substitute ground turkey or a beef-pork mix if you prefer, but add 1 extra tablespoon of olive oil to lean meats.

1 lb (450g) ground pork

Pork keeps the meatballs tender and adds a mild sweetness. If pork is not your thing, swap in ground chicken thigh, which has more fat than breast and holds up better.

3/4 cup (75g) plain breadcrumbs

Use fine dry breadcrumbs, not panko, so the meatballs bind tightly. Stale bread pulsed in a blender works beautifully and tastes even better.

2 large eggs, divided

One egg goes into the meatball mix and one gets whisked into the broth at the end. Bring them to room temperature so they bind more evenly.

3/4 cup (60g) grated Parmesan, divided

Buy a wedge and grate it yourself; pre-shredded cheese has anti-caking starch that keeps it from melting smoothly. Pecorino Romano is a sharper, saltier swap – use half if you do.

1/2 cup (50g) finely minced yellow onion

Grate the onion on a box grater so it disappears into the meatballs and releases moisture. Shallots or a small leek work just as well.

8 cups (1.9L) low-sodium chicken broth

Low-sodium lets you control the final seasoning since the parmesan and meatballs both add salt. For a deeper flavor, use half broth and half homemade stock.

1 head escarole (about 1 lb / 450g), chopped

Escarole is the traditional green – slightly bitter, silky when cooked. If you cannot find it, curly endive or baby spinach (added in the last 2 minutes) are good stand-ins.

3/4 cup (120g) acini di pepe pasta

These tiny 'peppercorn' pasta beads are classic; orzo or ditalini also work but need 2-3 extra minutes. Cook pasta separately if you plan on leftovers so it does not soak up all the broth.

2 tbsp olive oil

Regular, not extra-virgin, is fine here since it is just for softening the aromatics. Avocado oil is a neutral substitute.

3 garlic cloves, minced

Fresh garlic only – jarred garlic tastes flat. Mince it fine so it does not burn in the hot oil.

1/2 tsp kosher salt, 1/4 tsp black pepper, plus more to taste

Kosher salt is less salty by volume than table salt, so if you only have table salt, use half. Taste the broth before serving and adjust.

Tips & Tricks

  • Do not overmix the meatball mixture. Stop as soon as the ingredients come together, or the meatballs turn dense and bouncy instead of tender.
  • Keep the meatballs small and uniform, about 1 inch. Bigger meatballs need longer poaching and often dry out before the center is cooked through.
  • Add the pasta at the end and watch it closely. Acini di pepe goes from al dente to mushy in about 90 seconds, so set a timer.
  • Taste before you salt. The parmesan, broth, and meatballs all carry salt, and the broth reduces as it simmers, concentrating the seasoning.

Pro Tips

1

Chill the meatballs: 15 minutes in the fridge firms them up so they hold their shape when they hit the hot broth.
2

Sear first for flavor: Browning half the meatballs in the pot before adding broth builds a deeper, toastier base in the same pan.
3

Save the rind: Drop a parmesan rind into the simmering broth and fish it out before serving for a savory, restaurant-style depth.
4

Undercook the pasta by 1 minute: It finishes cooking in the hot broth as you ladle it out, so it stays perfectly al dente at the table.

Step-by-Step Instructions

1. Mix the meatballs

In a large bowl, combine the beef, pork, breadcrumbs, 1 egg, 1/2 cup (40g) parmesan, grated onion, garlic, 1/2 tsp salt, and 1/4 tsp pepper. Mix with your hands just until combined, then roll into 1-inch balls (you should get about 40).

2. Chill the meatballs

Place the meatballs on a parchment-lined sheet pan and refrigerate for 15 minutes. This rest firms them up so they hold their round shape when they hit the hot broth.

3. Sear half the meatballs

Heat 2 tbsp olive oil in a large Dutch oven over medium-high heat (about 375F / 190C). Add half the meatballs and sear 2-3 minutes per side until golden brown on the outside; they will not be cooked through yet. Transfer to a plate.

4. Soften the aromatics

Lower the heat to medium, add the onion to the pot, and cook 4-5 minutes until translucent and fragrant. Add the garlic and cook 30 seconds until it smells nutty – do not let it brown.

5. Simmer the broth

Pour in the chicken broth and scrape up the browned bits with a wooden spoon. Bring to a gentle boil, then reduce to a simmer (about 200F / 93C) and add the raw meatballs and the seared ones. Simmer 12-15 minutes, until the meatballs float and read 165F (74C) on an instant-read thermometer.

6. Add the escarole

Stir in the chopped escarole and simmer 5-6 minutes, until the leaves are wilted, silky, and deep green. The soup should smell sweet and slightly peppery.

7. Cook the pasta

Add the acini di pepe and simmer 6-8 minutes, stirring occasionally, until the pasta is al dente – tender with a tiny bit of bite at the center. It should look like tiny pearls floating in the broth.

8. Finish with egg and parmesan

In a small bowl, whisk the remaining egg with the remaining 1/4 cup (20g) parmesan. Off the heat, slowly stream the mixture into the soup while stirring constantly; the broth will turn silky and slightly cloudy. Season to taste and serve hot with extra parmesan.

Delicious Variations

Chicken Meatball Wedding Soup

Swap both meats for 2 lbs (900g) ground chicken thigh and add 1 tsp dried oregano to the mix for a lighter, herbier bowl.

Lemon-Dill Wedding Soup

Add the zest of 1 lemon and 2 tbsp chopped fresh dill with the escarole for a bright, Greek-leaning twist that cuts the richness.

Creamy Wedding Soup

Stir 1/2 cup (120ml) heavy cream in with the egg mixture for a richer, bisque-like texture that is lovely on cold nights.

How to Store Meatball Wedding Soup

Refrigerator

Store in an airtight container in the refrigerator for up to 4 days. The pasta will keep absorbing broth, so add a splash of stock when reheating.

Freezer

Freeze in portion-sized containers for up to 3 months. For best results, freeze without the pasta and boil fresh acini di pepe when you reheat.

Reheating

Reheat gently on the stovetop over medium-low heat (about 165F / 74C) for 5-7 minutes, stirring occasionally. Avoid a hard boil, which can break the meatballs apart.

Frequently Asked Questions

Q: What is wedding soup made of?

Wedding soup is made of small pork-and-beef meatballs, bitter greens like escarole, tiny pasta such as acini di pepe, and a rich chicken broth finished with egg and parmesan. The Italian name, minestra maritata, means 'married soup' and refers to the pairing of greens and meat.

Q: Why is it called wedding soup if it is not served at weddings?

The name is a mistranslation of minestra maritata, which means 'married soup' and refers to the marriage of flavors between the greens and the meat. It was never exclusively a wedding dish in Italy; it was a hearty everyday soup.

Q: Can I use frozen meatballs for wedding soup?

Yes, frozen meatballs work in a pinch – use about 40 small ones and simmer them 15-18 minutes straight in the broth. Homemade meatballs taste better because you control the seasoning and texture, but frozen saves about 20 minutes.

Q: How do I keep the pasta from getting mushy in wedding soup?

Cook the acini di pepe separately and add it to each bowl just before serving, or cook it in the soup only when you plan to eat it all that day. Stored pasta keeps absorbing broth, so separate cooking is best for leftovers.

Q: What can I use instead of escarole in wedding soup?

Curly endive, kale, or baby spinach all work as substitutes for escarole. Kale needs 8-10 minutes to soften, while baby spinach only needs 1-2 minutes, so adjust the simmer time accordingly.

Make this Meatball Wedding Soup this week and see how one pot can turn a regular Tuesday into something that feels like a celebration. Grab a loaf of crusty bread, grate a little extra parmesan over each bowl, and watch everyone go back for seconds. Small steps, big change.

Meatball Wedding Soup

Meatball Wedding Soup

Meatball Wedding Soup delivers tender homemade meatballs, escarole, and tiny pasta in a rich broth that feeds a crowd in one pot.

★★★★½ 4.8 (214 ratings)
25 minPrep time35 minCook time6Servings412 kcalCalories

🧂 Ingredients

  • 1 lb (450g) ground beef (80/20 blend)
  • 1 lb (450g) ground pork
  • 3/4 cup (75g) plain breadcrumbs
  • 2 large eggs, divided
  • 3/4 cup (60g) grated Parmesan, divided
  • 1/2 cup (50g) finely minced yellow onion
  • 8 cups (1.9L) low-sodium chicken broth
  • 1 head escarole (about 1 lb / 450g), chopped
  • 3/4 cup (120g) acini di pepe pasta
  • 2 tbsp olive oil
  • 3 garlic cloves, minced
  • 1/2 tsp kosher salt, 1/4 tsp black pepper, plus more to taste

📋 Instructions

  1. 1Mix the meatballs — In a large bowl, combine the beef, pork, breadcrumbs, 1 egg, 1/2 cup (40g) parmesan, grated onion, garlic, 1/2 tsp salt, and 1/4 tsp pepper. Mix with your hands just until combined, then roll into 1-inch balls (you should get about 40).
  2. 2Chill the meatballs — Place the meatballs on a parchment-lined sheet pan and refrigerate for 15 minutes. This rest firms them up so they hold their round shape when they hit the hot broth.
  3. 3Sear half the meatballs — Heat 2 tbsp olive oil in a large Dutch oven over medium-high heat (about 375F / 190C). Add half the meatballs and sear 2-3 minutes per side until golden brown on the outside; they will not be cooked through yet. Transfer to a plate.
  4. 4Soften the aromatics — Lower the heat to medium, add the onion to the pot, and cook 4-5 minutes until translucent and fragrant. Add the garlic and cook 30 seconds until it smells nutty – do not let it brown.
  5. 5Simmer the broth — Pour in the chicken broth and scrape up the browned bits with a wooden spoon. Bring to a gentle boil, then reduce to a simmer (about 200F / 93C) and add the raw meatballs and the seared ones. Simmer 12-15 minutes, until the meatballs float and read 165F (74C) on an instant-read thermometer.
  6. 6Add the escarole — Stir in the chopped escarole and simmer 5-6 minutes, until the leaves are wilted, silky, and deep green. The soup should smell sweet and slightly peppery.
  7. 7Cook the pasta — Add the acini di pepe and simmer 6-8 minutes, stirring occasionally, until the pasta is al dente – tender with a tiny bit of bite at the center. It should look like tiny pearls floating in the broth.
  8. 8Finish with egg and parmesan — In a small bowl, whisk the remaining egg with the remaining 1/4 cup (20g) parmesan. Off the heat, slowly stream the mixture into the soup while stirring constantly; the broth will turn silky and slightly cloudy. Season to taste and serve hot with extra parmesan.
👨‍🍳 Chef's Note: The egg-and-parmesan finish is what separates a good wedding soup from a great one – add it off the heat and stir constantly so it silkens the broth instead of scrambling.

Servings: 6

Cuisine: Italian-American

Course: Soup

Nutrition (per serving): 412 kcal · 31g protein · 24g carbs · 21g fat

Leave a Comment

x
Advertisements