Love this? Pin it for later!
There’s a moment every December—usually the first real snowfall—when I abandon all salad ambitions and declare soup season officially open. The Dutch oven comes out, the fridge fills with carrots and celery, and the house starts smelling like a nonna’s kitchen. After fifteen years of blogging, I can tell you without hesitation: if you make only one winter soup, let it be this Italian Wedding Soup.
I first tasted it at my friend Maria’s wedding shower in Philadelphia. Her aunt wheeled in a stockpot the size of a kiddie pool, lifted the lid, and the aroma—tiny pork-beef meatballs bobbing with escarole in a golden broth—stopped every conversation mid-sentence. We ate it from paper cups between gift-opening, and I remember thinking, “I need this in my life every January, not just at weddings.”
Fast-forward a decade: this soup has become my family’s edible security blanket. I make a triple batch the day we drag the Christmas bins back to the attic. It reheats like a dream for lunch, cures whatever plague the kids drag home, and feels fancy enough to serve when friends come for Sunday supper—yet it’s basically vegetables, meatballs, and broth. No wedding required.
Why This Recipe Works
- Two-meat meatballs: A 50/50 blend of ground pork and beef gives you juicy flavor without the dryness poultry can bring.
- Chilled meatball mix: Ten minutes in the freezer firms the fat so the little spheres stay round and don’t fall apart in the simmer.
- Parmesan rind in the broth: That rock-hard nub transforms plain chicken stock into liquid umami gold—never throw it away.
- Acini di pepe: These peppercorn-size pasta pearls give the classic look and texture, but orzo or ditalini work if your pantry says otherwise.
- Last-minute greens: Stirring escarole (or spinach) in off-heat keeps the color vibrant and prevents that drab Army-green hue.
- One-pot wonder: Meatballs, veggies, broth, and pasta all simmer together—fewer dishes on a frigid night when you’d rather stay under a blanket.
- Freezer hero: Portion it into quart containers and you have a homemade microwave meal ready faster than delivery can bike through snow.
Ingredients You'll Need
Great wedding soup starts with humble ingredients treated well. Below are my non-negotiables plus a few swaps I’ve tested when the blizzard hits and the fridge is bleak.
Meatballs
I reach for 80% lean ground beef and 85% lean ground pork. The pork shoulder’s intramuscular fat keeps things tender; the beef gives a deep, familiar flavor. If you only have one, use all beef, but bump the milk to 3 Tbsp so they don’t tighten up. Gluten-free? Swap the breadcrumbs for equal weight almond flour plus ½ tsp xanthan gum.
Aromatics
Finely minced onion, garlic, and a whisper of nutmeg perfume the meat. The nutmeg is subtle—think background singer, not Beyoncé.
Egg & Breadcrumbs
The classic panada. Use plain, not Italian-seasoned, crumbs so you control salt. Panko works; just crush it finely first.
Broth
Homemade chicken stock is grand, but let’s be honest—January weeknights call for shortcuts. I simmer two 32-oz boxes of low-sodium broth with a Parmesan rind, a bay leaf, and the tough stems from the escarole for 15 minutes while I roll meatballs. Instant upgrade.
Greens
Escarole is traditional: mildly bitter, sturdy, and it wilts just enough without dissolving. Curly endive, kale, or baby spinach all behave well; just adjust timing (kale needs 5 minutes, spinach needs 30 seconds).
Pasta
Acini di pepe literally means “peppercorns of dough.” They’re tiny and fun, but they overcook fast. Buy an extra bag; once you serve this soup your kids will request it weekly.
How to Make Italian Wedding Soup for a Hearty Winter Meal
Chill the meatball mix
In a large bowl combine ½ lb ground beef, ½ lb ground pork, ⅓ cup plain breadcrumbs, 1 small finely minced onion (about ¼ cup), 1 clove grated garlic, 1 egg, 2 Tbsp chopped fresh parsley, 2 Tbsp milk, 1 tsp kosher salt, ½ tsp black pepper, and ⅛ tsp ground nutmeg. Mix gently with fingertips just until combined. Cover and refrigerate 10 minutes while you prep the vegetables—this firms the fat so the balls stay round.
Roll mini meatballs
Using a heaping teaspoon (or a ¾-inch scoop), portion the chilled mixture and roll into ¾-inch balls. You should get about 55. Place them on a parchment-lined plate; refrigerate again while the broth heats.
Build the broth base
Set a 5-quart Dutch oven over medium heat. Add 1 Tbsp olive oil, 1 cup diced onion, 1 cup diced carrot, and ½ cup diced celery. Sauté 5 minutes until the onion turns translucent. Pour in 6 cups low-sodium chicken broth, 2 cups water, and add a 2-inch Parmesan rind plus 1 bay leaf. Increase heat to high and bring to a gentle boil.
Poach the meatballs
When the broth is at a steady simmer (not a rolling boil, which can toughen meat), carefully drop in the meatballs. They’ll sink at first; don’t crowd—work in two batches if necessary. Reduce heat to medium-low and simmer 6 minutes.
Add pasta
Stir in ½ cup acini di pepe. Cook 6–7 minutes, stirring occasionally so the pasta doesn’t weld itself to the pot bottom.
Season and greens-in
Fish out the Parmesan rind and bay leaf. Taste; add up to 1 tsp more salt depending on your broth. Stir in 4 cups chopped escarole (or 3 cups baby spinach). Remove from heat, cover, and let stand 2 minutes—the residual heat wilts the greens perfectly.
Serve and shower with cheese
Ladle into warm bowls, top each with a snowfall of freshly grated Parmesan and a crack of black pepper. Offer crusty bread for swiping the bowl clean.
Expert Tips
Keep it at a smile, not a scream
A gentle simmer (tiny bubbles) cooks meatballs evenly; a boil makes them rubbery. If you see frantic bubbling, lower heat immediately.
Freeze meatballs solo
Double the meatball batch, arrange uncooked balls on a tray, freeze solid, then bag. They go straight into simmering broth later—no thawing needed.
Pasta later trick
If you plan leftovers, cook the acini di pepe separately and add to each bowl. Otherwise the pasta balloons overnight and drinks your broth.
Leafy stem stock
The tough white escarole stems go into the broth with the Parmesan rind for extra flavor; fish them out before serving.
Make it a slow-cooker
Brown veggies in a skillet, then dump everything except pasta and greens into a 6-qt slow cooker. Cook on low 4 hours, add pasta and greens 20 minutes before serving.
Speedy supermarket hack
Grab a bag of frozen mini meatballs and a box of spinach. You’ll have wedding soup in 20 minutes—perfect for frantic Tuesday homework nights.
Variations to Try
- Turkey & quinoa: Swap ground turkey and add 2 Tbsp cooked quinoa to the mix for lightness.
- Vegetarian: Use lentil-basil meatballs and vegetable broth; add 1 Tbsp white miso for depth.
- Low-carb: Omit pasta and add 1 cup diced zucchini and 1 cup cauliflower rice during the last 5 minutes.
- Spicy Calabrian: Stir 1 tsp Calabrian chili paste into the sautéed vegetables for a gentle, lingering heat.
- Creamy twist: Whisk 2 beaten egg yolks with ¼ cup grated Parmesan and drizzle into the finished soup off-heat for a velvety, Greek avgolemono vibe.
Storage Tips
Refrigerator: Cool soup completely, transfer to airtight containers, and refrigerate up to 4 days. Keep pasta separate if you dislike the “puffed” texture.
Freezer: Freeze soup (without pasta or greens) for up to 3 months. Leave 1 inch headspace; liquids expand. Thaw overnight in the fridge, then reheat and cook fresh pasta and greens in the simmering soup.
Meal-prep portions: Ladle cooled soup into silicone muffin molds; freeze. Pop out frozen “soup pucks” and store in a zip bag. Two pucks equal one cozy lunch microwaved with a splash of water.
Frequently Asked Questions
Italian Wedding Soup for a Hearty Winter Meal
Ingredients
Instructions
- Mix meatballs: Combine beef, pork, breadcrumbs, onion, garlic, egg, parsley, milk, salt, pepper, and nutmeg. Chill 10 minutes, then roll into ¾-inch balls (about 55).
- Sauté vegetables: Heat olive oil in a 5-qt Dutch oven over medium heat. Add onion, carrot, and celery; cook 5 minutes.
- Simmer broth: Pour in broth, 2 cups water, Parmesan rind, and bay leaf. Bring to a gentle boil.
- Poach meatballs: Drop meatballs into simmering broth; cook 6 minutes, maintaining a gentle simmer.
- Add pasta: Stir in acini di pepe; cook 6–7 minutes until al dente.
- Finish with greens: Remove bay leaf and rind. Taste and adjust salt. Stir in escarole, remove from heat, cover 2 minutes.
- Serve: Ladle into bowls and top with grated Parmesan and black pepper.
Recipe Notes
Pasta can be cooked separately and added per bowl to avoid bloat. Soup thickens as it sits; thin with broth or water when reheating.