Italian Wedding Soup holds a special place in the hearts of anyone who’s ever tasted it. With its delicate mini meatballs, vibrant greens, tiny pasta, and crystal-clear golden broth, it’s the kind of soup that feels like a warm embrace from an Italian nonna.
But here’s a fun fact that surprises many people: Italian Wedding Soup has nothing to do with weddings! The name is actually a mistranslation of “minestra maritata,” which means “married soup” in Italian. It refers to the beautiful “marriage” of flavors between the meat and the greens — a combination that’s been beloved in Italian cuisine for centuries.
This recipe is my perfected version, developed over years of testing to achieve:
- Incredibly tender, flavorful meatballs that stay moist
- A rich, golden broth with layers of depth
- Perfectly cooked greens that maintain their color and texture
- Al dente pasta that doesn’t get mushy
Whether you’re serving this as a starter for a holiday dinner, a comforting weeknight meal, or bringing it to someone who needs nourishment and love, this Italian Wedding Soup will not disappoint.
A Brief History
Italian Wedding Soup originated in Southern Italy, particularly in the regions of Campania and Calabria. The original “minestra maritata” was a hearty peasant dish made during celebrations and holidays, featuring various meats (often leftover from the butcher) and whatever greens were available.
When Italian immigrants brought the recipe to America, it evolved into the version we know today — lighter, more refined, with those signature tiny meatballs that make it so distinctive and beloved.
The “wedding” of ingredients in this soup represents the Italian philosophy that certain flavors are meant to be together — in this case, savory meat and slightly bitter greens, balanced by starchy pasta in a nourishing broth.
Why This Recipe Works
The Secrets to Outstanding Italian Wedding Soup
1. The Meatball Mixture:Â Using a combination of beef, pork, and veal (or just beef and pork) creates complexity. The pork adds moisture and fat, while the beef provides structure.
2. Panade in the Meatballs:Â Soaking bread or breadcrumbs in milk creates a “panade” that keeps meatballs incredibly tender and prevents them from becoming dense.
3. Pecorino Romano Cheese:Â Adding cheese directly to the meatball mixture infuses them with savory, salty depth.
4. Homemade-Style Broth:Â Starting with quality chicken broth and enhancing it with aromatics elevates this soup from good to extraordinary.
5. Cooking Meatballs in Broth:Â Instead of browning the meatballs first, we poach them directly in the broth. This keeps them tender AND infuses the broth with meaty flavor.
6. Adding Greens at the Right Time: Timing is everything — greens should be added just long enough to wilt but retain their vibrant color.
7. Finishing with Egg:Â The optional egg drizzle (stracciatella-style) adds richness and creates beautiful ribbons throughout the soup.
Ingredients
For the Meatballs:
| Ingredient | Amount | Notes |
|---|---|---|
| Ground beef | ½ pound | 80/20 blend preferred |
| Ground pork | ½ pound | Or Italian sausage (casings removed) |
| Fresh breadcrumbs | â…“ cup | Or use panko |
| Whole milk | ÂĽ cup | For the panade |
| Egg | 1 large | Lightly beaten |
| Pecorino Romano cheese | ÂĽ cup | Freshly grated |
| Fresh parsley | 3 tablespoons | Finely minced |
| Garlic | 2 cloves | Minced |
| Salt | Âľ teaspoon | |
| Black pepper | ÂĽ teaspoon | Freshly ground |
| Dried oregano | ÂĽ teaspoon | Optional |
| Nutmeg | Pinch | Optional but traditional |
For the Soup:
| Ingredient | Amount | Notes |
|---|---|---|
| Olive oil | 2 tablespoons | Extra virgin |
| Onion | 1 medium | Finely diced |
| Carrots | 2 medium | Peeled and finely diced |
| Celery | 2 stalks | Finely diced |
| Garlic | 4 cloves | Minced |
| Chicken broth | 10 cups | Low-sodium, homemade if possible |
| Bay leaves | 2 | |
| Fresh thyme | 3-4 sprigs | Or ½ teaspoon dried |
| Acini di pepe pasta | 1 cup | Or orzo, ditalini, or pastina |
| Escarole | 1 small head | Or spinach (about 6 cups chopped) |
| Eggs | 2 large | Beaten (optional, for egg ribbons) |
| Parmesan rind | 1 piece | Optional, for extra flavor |
| Salt and pepper | To taste |
For Serving:
- Freshly grated Parmesan or Pecorino Romano cheese
- Extra virgin olive oil
- Fresh parsley
- Crusty Italian bread
- Red pepper flakes (optional)
- Fresh lemon wedges
Equipment Needed
- Large Dutch oven or soup pot (6-8 quart)
- Large mixing bowl
- Small bowl for panade
- Baking sheet (optional, for shaping meatballs)
- Wooden spoon
- Ladle
- Small cookie scoop or two spoons (for forming meatballs)
- Fine mesh strainer (if clarifying broth)
- Cutting board and knife
Step-by-Step Instructions
Part 1: Make the Meatballs
Step 1: Create the Panade (5 minutes)
- In a small bowl, combine the breadcrumbs and milk
- Stir to combine and let sit for 5 minutes
- The breadcrumbs should absorb the milk and become a paste-like consistency
Why this matters:Â The panade is the secret to tender meatballs. It adds moisture and prevents the proteins from tightening up too much during cooking.
Step 2: Mix the Meatball Ingredients (5 minutes)
- In a large mixing bowl, combine:
- Ground beef
- Ground pork
- The soaked breadcrumb mixture (panade)
- Beaten egg
- Grated Pecorino Romano
- Minced parsley
- Minced garlic
- Salt, pepper, oregano, and nutmeg
- Mix gently with your hands or a fork until just combined
⚠️ Important: Don’t overmix! Overworking the meat makes meatballs tough and dense. Mix until the ingredients are evenly distributed, then stop.
Step 3: Shape the Meatballs (10 minutes)
- Line a baking sheet with parchment paper
- Using a small cookie scoop or your hands, form the mixture into small meatballs, about ¾ inch in diameter (roughly the size of a grape or cherry)
- You should get approximately 50-60 mini meatballs
- Place shaped meatballs on the prepared baking sheet
- If time allows, refrigerate for 15-30 minutes to help them hold their shape
Pro Tip: Wet your hands slightly with cold water to prevent sticking while rolling. These meatballs are meant to be SMALL — about 1 teaspoon of meat each. They’ll look tiny, but that’s perfect!
Part 2: Build the Soup
Step 4: Sauté the Aromatics (8-10 minutes)
- Heat olive oil in a large Dutch oven or soup pot over medium heat
- Add the diced onion, carrots, and celery (this is called “soffritto” in Italian cooking)
- Cook, stirring occasionally, for 6-8 minutes until vegetables are softened but not browned
- Add the minced garlic and cook for 1 minute more until fragrant
What you’re looking for: The vegetables should be soft and translucent. The kitchen will smell incredible — this is the flavor foundation of your soup.
Step 5: Add the Broth (2 minutes)
- Pour in all 10 cups of chicken broth
- Add the bay leaves and thyme sprigs
- If using a Parmesan rind, add it now (it will melt into the broth and add umami depth)
- Increase heat to high and bring to a boil
- Once boiling, reduce heat to medium to maintain a gentle simmer
Step 6: Cook the Meatballs (10 minutes)
- Carefully drop the meatballs into the simmering broth, one at a time
- Don’t stir for the first 2 minutes — let them set
- Gently stir once to prevent sticking
- Simmer for 8-10 minutes until meatballs are cooked through
How to tell they’re done:Â The meatballs will float to the surface and should be firm but not hard when pressed gently.
Step 7: Cook the Pasta (8-10 minutes)
- Add the acini di pepe (or your chosen small pasta) to the pot
- Stir gently to distribute
- Cook according to package directions, usually 8-10 minutes for al dente
- Stir occasionally to prevent pasta from sticking to the bottom
Timing note:Â Add the pasta when you want to serve the soup within 20-30 minutes. If making ahead, see storage instructions below.
Step 8: Add the Greens (3-5 minutes)
- While pasta cooks, prepare your greens:
- For escarole:Â Remove tough outer leaves, wash thoroughly, and chop into bite-sized pieces
- For spinach:Â Remove stems if using mature spinach; baby spinach can be used whole
- In the last 3-5 minutes of cooking, add the chopped greens
- Stir to submerge them in the broth
- Cook until just wilted but still vibrant green
For escarole:Â It needs slightly more time (4-5 minutes) as it’s heartier than spinach.
For spinach:Â Only needs 2-3 minutes; it wilts very quickly.
Step 9: Optional Egg Ribbons (2 minutes)
This traditional technique creates beautiful, delicate egg strands throughout the soup:
- In a small bowl, beat 2 eggs with a fork
- Remove the soup from heat
- While stirring the soup in a circular motion, slowly drizzle in the beaten eggs in a thin stream
- The eggs will cook immediately, forming delicate ribbons (stracciatella)
- Stop stirring and let sit for 30 seconds
Skip this step if:Â You prefer a clearer broth or are making the soup ahead of time.
Step 10: Final Seasoning
- Remove and discard bay leaves, thyme sprigs, and Parmesan rind (if used)
- Taste the broth carefully
- Season with salt and pepper as needed
- Add a small squeeze of lemon juice if desired (brightens the flavors)
Nutritional Information
Per serving (approximately 1.5 cups with 8-10 meatballs), makes 8 servings:
| Nutrient | Amount |
|---|---|
| Calories | 285 |
| Total Fat | 13g |
| Saturated Fat | 4.5g |
| Cholesterol | 95mg |
| Sodium | 680mg |
| Total Carbohydrates | 22g |
| Dietary Fiber | 2g |
| Sugars | 3g |
| Protein | 19g |
| Vitamin A | 85% DV |
| Vitamin C | 15% DV |
| Calcium | 12% DV |
| Iron | 18% DV |
Note: Nutritional information is an estimate and may vary based on specific ingredients used. Using low-sodium broth reduces sodium significantly.
Final Thoughts
Italian Wedding Soup is so much more than the sum of its parts. It’s a bowl of pure comfort that brings together centuries of Italian cooking wisdom — the importance of building flavor slowly, the magic that happens when meat meets greens in a nourishing broth, and the simple joy of tiny, tender meatballs.
This soup is perfect for:
- 🍂 Chilly autumn and winter evenings
- 🤒 When someone in your life needs comfort (it’s better than canned!)
- 🎄 Holiday dinners as an elegant first course
- 🍽️ Meal prep for healthy weekday lunches
- 👨‍👩‍👧‍👦 Family dinners that everyone will love
The beauty of this recipe is that while it feels special enough for company, it’s completely approachable for a weeknight dinner. Make a double batch of meatballs, freeze half, and you’re already ahead for next time.
Recipe Tips to Remember:
- Small meatballs = authentic and elegant
- Panade = tender, not tough
- Gentle simmer = clear broth
- Add greens last = vibrant color
- Make extra = even better the next day
I hope this recipe becomes a beloved staple in your kitchen, bringing warmth and comfort to everyone lucky enough to taste it.
Buon appetito! 🇮🇹






