The Lunch ProEst. 2020 · The Lunch Pro since 2023
Heritage Recipes · Metabolic Health
SoupClassics and Nostalgia

Italian Wedding Soup | Authentic 45-Minute Recipe

The real Italian Wedding Soup — tender mini meatballs simmered in rich chicken broth with escarole, tiny pasta, and silky egg ribbons. Ready in 45 minutes and better than any can or restaurant version. The name comes from minestra maritata, the "married soup" from Naples where meat and bitter greens are joined in the broth. A family favourite that freezes beautifully.
Jon Simon
Hearty Italian Wedding soup with meatballs and spinach

Jump to Recipe

Italian Wedding Soup has nothing to do with weddings. The name is a translation mistake — the Italian original is minestra maritata, “married soup,” and the marriage is between meat and bitter greens simmered together in broth until each one tastes of the other. This is the version Neapolitan grandmothers have been making for generations: tender mini meatballs, tiny pasta, fresh greens, and silky ribbons of egg in a deeply savoury broth.

It comes together in 45 minutes from a cold start, makes enough for six generous bowls, and tastes like it simmered all afternoon. A can of Progresso has nothing on it.

Quick Stats

Prep
20 min
Cook
25 min
Total
45 min
Serves
6
340
Calories
24g
Protein
23g
Carbs
15g
Fat
Italian Classic One-Pot Family Favourite Make-Ahead Freezer-Friendly
Italian Wedding Soup
Italian Wedding Soup | Authentic 45-Minute Recipe 4

Why This Italian Wedding Soup Recipe Works

It’s the real Neapolitan dish, not a watered-down imitation. Italian Wedding Soup originated in the Campania region of southern Italy — specifically around Naples — as a humble cucina povera peasant dish. The Italian name is minestra maritata, meaning “married soup,” and the marriage refers to the perfect pairing of meat and leafy bitter greens simmering together in the broth. In Naples it’s deeply tied to holiday traditions and classically served as a hearty comforting dish at Christmas and Easter. Keeping that pairing — meat and greens, joined in broth — is what makes this version taste like the original instead of a thin, salty supermarket impersonation.

Tiny meatballs cook fast and finish soft. Italian wedding soup meatballs are small on purpose — about the size of a marble, or roughly one teaspoon of mixture each. At that size they cook through in five minutes of gentle simmering, stay tender, and fit on a spoon next to the pasta and greens without crowding the bowl. The binder is a classic Italian panade — breadcrumbs briefly soaked in milk — which keeps the meatballs juicy by preventing the proteins from squeezing the moisture out as they cook.

The American adaptation makes it weeknight-friendly. When Neapolitans immigrated to the United States, they had to adapt the recipe due to the absence of southern Italian wild greens. They scaled back from the original dozen-plus foraged bitter greens to one or two reliable choices — escarole or spinach — and added smaller, lighter meatballs along with small pasta like acini di pepe. The result is the lighter, brothier version most North Americans know today. It still honours the maritata principle, but it comes together on a Tuesday night.

Egg ribbons add silk and protein. A slow stream of beaten egg into hot broth produces the same feathery ribbons you’ll find in Roman stracciatella, and several Naples-area cooks finish their minestra maritata this way. Each egg adds about 6g of protein, gives the broth a subtle richness, and signals — visually and texturally — that you’re eating something made by hand and not poured out of a can.

The broth carries everything else. A good chicken broth is what the entire bowl rests on; a thin watery one will sink the dish no matter how well the meatballs are made. Use a rich, low-sodium store-bought broth or — better — homemade chicken stock from a roasted carcass. Bone broth works too and adds extra body. This is one of those recipes where a small upgrade at the broth stage pays for itself in every spoonful.

Canned vs Homemade Italian Wedding Soup

The case for forty-five minutes of stove time is mostly written on the alternative’s can label.

Per Serving Canned (typical) This Homemade Recipe
Sodium ~1,400 mg 720 mg ✓
Protein ~10g 24g ✓
Meatball quality Mechanically formed, dense Hand-rolled, tender ✓
Greens Sparse, overcooked Fresh, bright, generous ✓
Egg ribbons Absent Included ✓
Preservatives Yes None ✓
Cost per serving ~$2.50 ~$2.20 ✓
Time investment 5 minutes 45 minutes

Here is the full Italian Wedding Soup recipe — ingredients, method, and nutrition all in one place. Tap “Jump to Recipe” at the top of the page any time you want to skip back to it.

Hearty Italian Wedding soup with meatballs and spinach
5fad0ee9b4f16fa1899c9b79292891e2b99e43153f738b1a83e6c6996ed8a167?s=30&d=blank&r=gJon Simon

Italian Wedding Soup

No ratings yet
The real Neapolitan classic — tender mini meatballs simmered in rich chicken broth with tiny pasta, escarole or spinach, and silky egg ribbons. Ready in 45 minutes from a cold start, serves six, and tastes like it simmered all afternoon.
The translation of minestra maritata — “married soup” — refers to the pairing of meat and bitter greens, not to a ceremony.
Prep Time 20 minutes
Cook Time 25 minutes
Total Time 45 minutes

Ingredients
 
 

For the meatballs
  • 8 ounces ground beef 80/20
  • 8 ounces ground pork or substitute additional ground beef or ground chicken
  • cup panko or fresh breadcrumbs
  • 2 tablespoons whole milk for soaking the breadcrumbs
  • ¼ cup Parmesan cheese finely grated
  • 1 egg large, lightly beaten
  • 2 cloves garlic minced
  • 2 tablespoons fresh parsley finely chopped
  • ½ teaspoon Italian seasoning
  • ½ teaspoon salt
  • ¼ teaspoon black pepper freshly ground
  • 1 pinch nutmeg freshly grated; optional but traditional
For the soup
  • 1 tablespoon olive oil
  • 1 yellow onion small; finely diced
  • 1 carrot medium; finely diced
  • 2 stalks celery finely diced
  • 3 cloves garlic minced
  • 8 cups chicken broth low-sodium; homemade or good-quality store-bought
  • ½ cup acini di pepe or substitute pastina, ditalini, or orzo
  • 6 cups baby spinach packed; or substitute 4 packed cups of chopped escarole
  • 2 eggs large, beaten — for the egg ribbon
  • ½ cup Parmesan cheese grated; plus more for serving
  • 1 teaspoon lemon zest from about half a lemon
  • 1 tablespoon lemon juice freshly squeezed
  • fresh parsley for garnish

Equipment

  • 1 Large dutch oven or soup pot
  • 1 Rimmed baking sheet
  • 1 Fork (for mixing and for egg ribbons)
  • 1 Microplane or fine grater

Method
 

Make the meatballs
  1. Preheat oven to 400°F (200°C) and line a rimmed baking sheet with parchment paper.
  2. In a small bowl, combine the breadcrumbs and milk and let sit for 2 minutes — the breadcrumbs should be fully moistened. This Italian panade is what keeps the meatballs tender.
  3. In a large mixing bowl, combine the ground beef, ground pork, soaked breadcrumbs, grated Parmesan, beaten egg, minced garlic, parsley, Italian seasoning, salt, pepper, and nutmeg. Mix with a fork — not your hands — just until the ingredients are evenly distributed, about 20 seconds. Overmixing makes the meatballs dense.
  4. Roll the mixture into marble-sized meatballs, about 1 teaspoon each — you should get 50 to 60 small meatballs. Place them on the prepared sheet with a little space between each. Bake for 10 to 12 minutes, until lightly browned and just cooked through. Set aside.
Build the soup
  1. While the meatballs bake, warm the olive oil in a large Dutch oven or soup pot over medium heat. Add the diced onion, carrot, and celery, and cook for 6 to 7 minutes, stirring occasionally, until the vegetables are soft and the onion is translucent.
  2. Stir in the minced garlic and cook for 30 seconds, until fragrant. Pour in the chicken broth, bring to a simmer, and let cook gently for 5 minutes to marry the flavours.
  3. Add the acini di pepe and the baked meatballs. Simmer for 8 to 10 minutes, or until the pasta is al dente. Stir occasionally to keep the pasta from sticking to the bottom of the pot.
Finish the bowl
  1. Reduce the heat so the broth is at the gentlest simmer (not a rolling boil). In a slow, steady stream, pour the beaten eggs into the broth while stirring slowly in one direction with a fork. The eggs will set into delicate ribbons within 30 seconds.
  2. Cut the heat. Stir in the baby spinach, ½ cup of grated Parmesan, the lemon zest, and lemon juice. The residual heat will wilt the spinach in under a minute. If using escarole, stir it in 2 minutes earlier so it tenderises.
  3. Taste and adjust salt and pepper. Ladle into warm bowls, top with extra grated Parmesan and a scatter of fresh parsley, and serve immediately with crusty Italian bread.

Nutrition

Serving: 1servingCalories: 340kcalCarbohydrates: 23gProtein: 24gFat: 15gSaturated Fat: 5.5gCholesterol: 120mgSodium: 720mgFiber: 2gSugar: 3g

Notes

Net carbs: 21g per serving (23g total carbs minus 2g fibre).
Keep the meatballs small: Marble-sized — about 1 teaspoon each. A pound of meat should give you 50 to 60 meatballs, not 20. Small meatballs cook fast, stay tender, and fit on a spoon next to the pasta.
Soak the breadcrumbs: The Italian panade technique — breadcrumbs soaked in milk before mixing — is the single most important step for tender meatballs. Don’t skip it.
Mix gently: Twenty seconds with a fork is enough. Compacted meatballs turn rubbery in the broth.
Egg ribbons: Keep the broth at a gentle simmer, not a hard boil. Pour the beaten eggs in a thin stream while stirring slowly in one direction. A rolling boil will scramble them into clumps instead of ribbons.
Add the spinach off the heat: Residual heat wilts baby spinach in under a minute and keeps the colour bright. If using escarole, stir it in 2 minutes earlier and let it tenderise.
Pasta substitutions: Acini di pepe is classic. Pastina, ditalini, orzo, and small stelline all work. Anything small enough to fit on a spoon next to a meatball.
Refrigerator storage: Up to 4 days in an airtight container. The pasta will continue absorbing broth as it sits, so leftovers will be thicker on day two. To keep leftovers brothy, cook the pasta separately and combine portions on the plate.
Freezer storage: Freeze the meatball-broth-vegetable base (without the pasta and without the egg ribbon) for up to 3 months. Cook fresh pasta and stream in beaten eggs when reheating.
Reheating: Stovetop over gentle heat with the lid on, just until the meatballs are warmed through. Microwave at 60% power in 90-second bursts, stirring between each.

Tried this recipe?

Let us know how it was!

Chef’s Tips

Keep the meatballs small — really small. Italian Wedding Soup meatballs are meant to be marble-sized, about one teaspoon of mixture each. A pound of meat should give you 50 to 60 meatballs, not 20. Small means they cook fast, sit on a spoon, and distribute through every bite of broth.

Soak the breadcrumbs in milk before mixing. This is the Italian panade technique and it’s the single most important step for tender meatballs. Two tablespoons of milk poured over the breadcrumbs, left to sit for two minutes, then mixed into the meat. Dry breadcrumbs absorb moisture from the meat as it cooks; soaked breadcrumbs release moisture back into it.

Mix gently — and barely. Compacted meatballs turn rubbery in the broth. Combine the meatball ingredients with a fork or your fingertips for about 20 seconds, just until you no longer see streaks of breadcrumb. Stop there.

Brown the meatballs first if you have ten extra minutes. A quick bake at 400°F for 10–12 minutes (or a sear in a hot pan) builds the surface flavour that broth-poaching alone can’t. They go into the soup pre-cooked, then warm through for the last five minutes. Skip this step if you’re in a hurry and just drop the raw meatballs into the simmering broth — they’ll poach through in 6–7 minutes.

Cook the pasta directly in the broth. Acini di pepe, ditalini, pastina, or orzo all work. The starch released as they cook thickens the broth slightly and gives it body. If you’re going to store leftovers, see the Storage section for the workaround — pasta cooked in broth keeps absorbing as it sits.

The egg ribbon needs a gentle simmer and a slow hand. Reduce the heat so the broth is barely moving, not boiling. Pour the beaten eggs in a thin steady stream while stirring slowly in one direction with a fork. The eggs set into delicate ribbons within 30 seconds. A rolling boil scrambles them into clumps.

Greens go in last, off the heat. Baby spinach wilts in under a minute from residual heat alone. Escarole — the more traditional choice — needs about 2 minutes in the hot broth but should still go in at the very end. Boiling either one drains the colour and the iron straight into the broth.

Storage & Serving

Refrigerator (up to 4 days). Cool the soup within an hour of finishing, then store in an airtight container. The flavour deepens overnight as the broth pulls more from the meatballs and parmesan. Important caveat: the pasta will continue to absorb broth as it sits, so leftovers will be thicker on day two. If you want to store leftovers and keep them brothy, cook the pasta separately and combine portions on the plate.

Freezer (up to 3 months). Freeze the soup without the pasta and without the egg ribbon — both lose texture in the freeze-thaw cycle. Freeze the meatball-broth-greens base in portion-sized containers, and cook fresh pasta and stream in beaten eggs when you reheat. A vacuum-sealed batch gives you the cleanest long-term storage.

Reheating. Stovetop over gentle heat with the lid on, just until the meatballs are warmed through. Microwave at 60% power in 90-second bursts; full power will overcook the meatballs and turn the greens olive-brown. Stir well between bursts.

Meal prep. The meatballs can be rolled and refrigerated raw up to two days ahead, or formed and frozen on a tray before bagging (no thaw needed — drop them frozen straight into simmering broth). The broth base can be built up to a day ahead. Combine on serving day, finish with pasta, eggs, and greens, and dinner is on the table in fifteen minutes. The Instant Pot soup workflow has more make-ahead soup mechanics if you want a deeper dive.

What to serve with it. A piece of crusty Italian bread for sopping up the broth is the traditional answer. A simple arugula salad with shaved parmesan and lemon olive oil makes it a full dinner. If you’re cooking for a crowd and want a second Italian course, Marry Me Chicken on a sheet of arugula pairs beautifully — the creamy sun-dried tomato sauce is a counterweight to the clear broth of the soup. For dessert, keep it Italian: a small espresso, a few biscotti, and call it a night.

Italian Wedding Soup FAQs

Why is it called Italian Wedding Soup if it isn’t served at weddings?

The name is a translation mistake. The Italian original is <em>minestra maritata</em> — “married soup” — and the marriage refers to the pairing of meat and bitter greens cooked together in broth, not to a ceremony. The soup originated in Campania, the region around Naples, as a humble peasant dish. In Italy, it’s traditionally a Christmas and Easter dish, not a wedding one. The “wedding” name took hold in the United States in the early twentieth century and stuck.

What pasta is best for Italian Wedding Soup?

Acini di pepe is the classic — tiny pasta beads that scoop neatly onto a spoon. Pastina, ditalini, orzo, and small stelline all work just as well. The rule is small enough to fit comfortably on a spoon next to a mini meatball. Avoid larger shapes like elbow macaroni or shells — they overpower the rest of the bowl and break the visual balance the dish is known for.

Can I use spinach instead of escarole?

Yes — baby spinach is the most common substitute and what most North American home cooks reach for. Escarole has a mild, pleasant bitterness that holds up better in broth and stays closer to the Neapolitan original, but it’s harder to find. Lacinato kale also works if you want a sturdier bite — add it 2–3 minutes earlier than you would spinach, so it has time to tenderize.

Can I freeze Italian Wedding Soup?

Yes — but freeze it without the pasta and without the egg ribbon. Both lose texture in the freezer; pasta turns to mush, and egg ribbons go rubbery. Freeze the meatball-broth-greens base for up to 3 months, then cook fresh pasta and stream in beaten eggs when you reheat. The whole reheat-and-finish step takes about 15 minutes.

You Might Also Like

Final Thoughts

The grandmothers who first married meat to greens in a Neapolitan kitchen weren’t following a recipe — they were using what they had, stretching the protein, letting the broth do the heavy work. Centuries later, the dish still does the same thing: it warms the room, it stretches a pound of meat across six bowls, and it tastes like time was spent on it even when only forty-five minutes were. Make it once, and it’ll quietly slip into the rotation of soups your house turns to when the weather changes.

The information in this article is for general educational purposes only and is not medical or nutritional advice. Individual dietary needs vary, particularly for those managing diabetes, cardiovascular conditions, or other chronic health concerns. Always consult a qualified healthcare provider or registered dietitian before making significant changes to your diet.

Advertisements