Soups & Stews
This 5-star Italian wedding soup recipe transforms a family classic into a restaurant-worthy masterpiece with herb-packed orzo and tender meatballs that melt in your mouth. The secret lies in slow-simmered broth infused with aromatic vegetables and fresh herbs, creating depth that elevates every spoonful. What sets this apart is the balance of textures—al dente orzo, juicy meatballs, and delicate spinach—all harmonized in a single bowl.
The foundation begins with a rich, homemade broth that simmers for hours, extracting maximum flavor from onions, carrots, celery, and garlic. Meanwhile, the meatballs are crafted with ground beef and pork, bound with breadcrumbs and Parmesan for structure, then gently poached in the broth until tender. This isn’t just soup—it’s a comforting, flavorful experience that feels like a hug in a bowl, perfect for celebrations or cozy weeknights.
By the time you serve it, you’ll have a golden, aromatic soup with layers of savory, herby, and slightly sweet notes. The orzo absorbs the broth’s essence, while the meatballs stay intact yet tender, and the spinach adds a fresh contrast. Garnish with fresh parsley and a sprinkle of Parmesan to complete the 5-star presentation that rivals any Italian trattoria.
This recipe scales beautifully—whether you’re feeding a crowd for a wedding or saving leftovers for lunch. The key is patience: letting flavors meld and textures develop ensures every bite delivers that restaurant-quality satisfaction. Ready to make it?
Ingredients for 5 star italian wedding soup
Herb-infused broth, melt-in-mouth meatballs, and al dente orzo—this wedding soup delivers restaurant-quality comfort in every bowl.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef (80% lean) 🥩 | 1 ½ lb | Chilled for better texture |
| Ground Pork 🐖 | ½ lb | For meatball tenderness |
| Large Eggs 🥚 | 2 whole | Room temperature for binding |
| Parmesan Cheese (freshly grated) 🧀 | ½ cup | Block preferred over pre-grated |
| Italian Breadcrumbs 🍞 | ½ cup | Panko for extra crispiness |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for meatballs |
| Yellow Onion 🧅 | 1 whole | Medium, diced for broth |
| Carrots 🥕 | 3 medium | Peeled, chopped for broth |
| Celery Stalk 🌿 | 3 whole | Trimmed, chopped for broth |
| Garlic Cloves 🧄 | 4 cloves | Peeled, minced for broth |
| Fresh Thyme 🌿 | ¼ cup | Leaves only, chopped |
| Fresh Rosemary 🌿 | ¼ cup | Chopped, for herb depth |
| Orzo Pasta 🍝 | 1 ½ cups | Uncooked, for texture |
| Fresh Spinach 🌱 | 4 oz | Baby leaves, for freshness |
| Vegetable Broth 💧 | 6 cups | Low-sodium for balance |
| Extra-Virgin Olive Oil 🫒 | ¼ cup | For sautéing vegetables |
| Diamond Crystal Kosher Salt 🧂 | 1 ½ tsp | For seasoning broth |
| Freshly Ground Black Pepper 🌶️ | ½ tsp | For meatball seasoning |
The meatballs are where this soup earns its 5-star rating. Ground beef and pork blend gives them that classic Italian richness—skip the pork if you prefer all-beef, but trust me, the pork keeps them juicy. For the best results, grab 80% lean beef from the butcher section (the Whole Foods or Trader Joe's meat counters have great options). Freshly grated Parmesan is non-negotiable here—pre-grated gets clumpy and lacks flavor. If you're feeling fancy, toast your breadcrumbs in a dry pan for 2 minutes before mixing—it adds a subtle crunch that disappears when poached, leaving just the flavor behind.
No fresh thyme? Dried thyme at one-third the amount works in a pinch, but you'll miss that bright herbal note. The rosemary adds depth—if you're using fresh sprigs, remove them after simmering. For the broth, low-sodium vegetable broth is key—you'll be adding salt anyway, and you don't want to overdo it. The orzo should be al dente when cooked—Italian varieties like Barilla or De Cecco are worth the splurge. If your spinach is wilted, no worries—just chop it finely so it blends into the soup without chunks. The secret to tender meatballs? Don't overmix—the dough should hold together when rolled but still be crumbly.
Broth freezes beautifully—make a double batch and store it in 4-cup portions for future soups. Meatballs can be prepped ahead and frozen raw on a tray before transferring to a bag (this prevents clumping). Once cooked, they keep for 3 days in the fridge or 3 months frozen. For serving, I always reheat the soup gently on the stove and add fresh parsley and Parmesan just before plating—that final touch makes all the difference. Leftovers? Even better the next day as flavors meld further.
Why You'll Love This Recipe
- No-Measurement Guessing: I just eyeball the ground beef and pork—no scale, no stress—because that meaty base browns fast and packs flavor. The breadcrumbs? Straight from the jar, toasted in a dry pan until golden. Honestly, the only thing I measure is the broth, and even then, I cheat with a big ol’ ladle.
- Meaty Umami Bomb: That combo of 80% lean beef and pork? Rich, deep, and savory in the way only Italian wedding soup can be. I brown the meat in batches until it’s crispy at the edges—crunch matters—and then fold it into the broth with the egg drop ribbons. The freshly grated Parmesan? That’s the cherry on top, melting into every spoonful like a hug.
- Leftovers That Beg for More: This soup tastes better the next day, which is basically a miracle. I make a double batch on Sundays, and by Wednesday, my kids are fighting over the last bowl. The meat holds up, the breadcrumbs stay crispy (if you store it right), and the eggs? They soften into cloud-like perfection. No sad, watery leftovers here.
- Wedding or Weeknight: I’ve served this at family gatherings and on nights when I just needed to feed everyone without slaving away. The breadcrumbs add a satisfying crunch that makes it feel special, but the recipe’s so unfussy it’s my go-to when guests drop by unannounced. Plus, the eggs? They’re the star, and no one ever complains about egg drop soup—it’s universally loved.
Step-by-step instructions for herb-packed orzo wedding soup
This traditional Italian wedding soup comes together in layers of rich flavor and comforting textures.
Prepare the Meatball Mixture
In a large mixing bowl, combine the 1.5 lb ground beef (80% lean) and 0.5 lb ground pork. These lean meats create tender meatballs that won't turn greasy. Add the 2 whole large eggs (room temperature) and mix until fully incorporated. The eggs act as a binder, helping the meatballs hold their shape during cooking.
Next, fold in the 0.5 cup freshly grated Parmesan cheese, 0.5 cup Italian breadcrumbs, 0.25 cup chopped fresh parsley, 0.5 tsp freshly ground black pepper, 0.25 cup chopped fresh thyme, and 0.25 cup chopped fresh rosemary. Mix gently with your hands until just combined—overmixing develops gluten and makes the meatballs tough. The herbs should be evenly distributed throughout the mixture, promising that first bite of aromatic flavor.
Form and Brown the Meatballs
Using your hands, roll the meatball mixture into 1-inch spheres—about 18-20 meatballs total. I like to wet my palms slightly with water to prevent sticking. Arrange them on a parchment-lined baking sheet and refrigerate for 15 minutes to firm up. This chilling step ensures the meatballs hold together when they hit the hot pan.
Heat 0.25 cup extra-virgin olive oil in a large Dutch oven over medium-high heat until shimmering. Working in batches to avoid crowding, add the meatballs and brown them for 3-4 minutes per side until they develop a deep golden crust. The meatballs should release easily from the pan when ready—if they stick, they need more time. Transfer the browned meatballs to a plate and set aside.
Build the Flavorful Broth Base
In the same Dutch oven, add 0.25 cup extra-virgin olive oil and reduce heat to medium. Add the 1 whole medium yellow onion, 3 medium peeled carrots, and 3 whole celery stalks, all chopped into ¼-inch pieces. Sauté for 8-10 minutes until the vegetables soften and the onion becomes translucent. Add the 4 peeled garlic cloves and cook for an additional 1 minute until fragrant.
Pour in the 6 cups vegetable broth and bring to a gentle simmer. Add the 1.5 tsp Diamond Crystal kosher salt and 0.5 tsp freshly ground black pepper, then return the meatballs to the pot. Let the broth simmer uncovered for 15 minutes to allow the flavors to meld. The meatballs should be nearly cooked through—you'll finish them in the final step.
Cook the Orzo and Finish the Soup
Add the 1.5 cups orzo pasta to the simmering broth and stir gently to distribute. The orzo should be fully submerged—if not, add a splash of water. Cook for 12-14 minutes, stirring occasionally, until the orzo is al dente and the liquid has reduced slightly. You want the orzo to have a slight bite to it, as it'll soften further when mixed with the spinach.
In the last 2 minutes of cooking, stir in the 4 oz fresh baby spinach until just wilted. The spinach should brighten the soup with its freshness while maintaining a vibrant green color. Taste and adjust seasoning—you may need a pinch more salt or pepper to balance the flavors.
Serve with Warm Bread and Extra Cheese
Ladle the soup into warm bowls and garnish each serving with an additional sprinkle of freshly grated Parmesan cheese and a few chopped fresh parsley leaves. The contrast of the crispy meatballs, tender orzo, and silky broth creates a harmonious bite. Serve immediately with crusty Italian bread to soak up every last drop of that herb-infused broth.
This soup is best enjoyed fresh, when the meatballs are still warm and the herbs release their full aroma. The combination of textures—crisp meatballs, chewy orzo, and delicate spinach—makes each spoonful a celebration of Italian comfort food.
Pro Tips For Making 5 Star Italian Wedding Soup
- CRUSH THE MEAT RIGHT: Brown the ground beef and pork in two separate batches—don’t overcrowd the pan. I used to dump both in at once, and the meat just steamed instead of searing, leaving you with bland, greasy bits instead of flavor-packed crumbles.
- GRATE THAT PARMESAN FRESH: Skip the pre-shredded stuff—it’s coated in anti-caking agents that turn to gummy paste when heated. Use a microplane or fine grater right before adding it to the soup, and trust me, the nutty, sharp flavor will cut through the richness like a knife.
- DON’T BOIL THE EGG DROP: When poaching the egg drops, keep the broth at a gentle simmer—not a rolling boil. After burning through three batches of scrambled egg bits, I learned to lower the heat until tiny bubbles break the surface, or you’ll end up with rubbery, sad little blobs instead of tender, cloud-like bites.
- TOAST THOSE BREADCRUMBS: Toss the Italian breadcrumbs in a dry pan over medium heat for 2-3 minutes until they’re golden and toasty. I was skeptical—why bother?—but this step adds a crisp, nutty depth that makes the difference between a good soup and one that feels special. (Yes, even if you’re impatient like me.)
Troubleshooting your 5 star italian wedding soup
Meatballs Too Greasy
If your meatballs release too much fat into the broth, it’s likely from using too-lean meat or overmixing. I recommend sticking with 80% lean beef and ground pork—the fat keeps them juicy without greasing the soup. For extra insurance, pat the meatballs dry before browning and avoid crowding the pan. If the broth looks oily after simmering, skim excess fat with a spoon or paper towels. 🧂
Broth Too Weak
A bland broth usually means insufficient simmering time. This soup’s depth comes from a minimum 15-minute simmer after adding meatballs—don’t rush it! For extra flavor, add 1 bay leaf during the initial simmer and remove it before serving. If using store-bought broth, opt for low-sodium and boost with 1 tsp fish sauce or ½ tsp Worcestershire sauce for umami depth.
Orzo Mushy Texture
Overcooking orzo is the #1 culprit for mushy soup. Test for al dente by tasting a piece—it should have a slight resistance. If your orzo turns to paste, reduce cooking time by 2 minutes next time. For better control, cook orzo separately in 1 cup broth for 8-10 minutes, then stir into the finished soup. This method keeps it firm while absorbing flavors. 🍲
Spinach Overwhelming
Too much spinach can make the soup bitter and green-heavy. Stick to 4 oz baby spinach (about 2 cups loosely packed) and wilt it in the last 2 minutes of cooking. For a milder taste, blanch spinach in boiling water for 30 seconds before adding. If using pre-washed spinach, rinse it thoroughly to remove any earthy residue that can overpower the dish.
Meatballs Falling Apart
Crumbly meatballs usually mean overmixing or insufficient binding. Under-mix the ingredients and ensure your eggs are room temperature—cold eggs won’t bind properly. For extra structure, add 1 tbsp cornstarch to the mixture. Also, chill the meatballs for 15 minutes before browning—they’ll hold together better when hot oil hits them. 💪
Soup Too Salty
If your soup tastes salty, it’s often from pre-salted ingredients like broth or breadcrumbs. Use low-sodium broth and unsalted breadcrumbs to start. For fixing oversalted soup, stir in ½ cup milk or cream to dilute the saltiness, or add 1 diced potato or carrot and simmer for 15 minutes—these absorb excess salt. Taste frequently to avoid overcorrecting.
Nutrition facts
Frequently asked questions
Can I make this wedding soup vegetarian?
Replace the meatballs with 1.5 cups of crumbled firm tofu or 1.5 cups of plant-based meatballs (like Beyond Meat). For extra flavor, marinate the tofu in 1 tbsp olive oil, 1 tsp soy sauce, and 1 tsp Italian seasoning for 15 minutes before browning. The orzo and broth will still provide that hearty, comforting base—just skip the Parmesan if avoiding dairy.
How do I adjust the recipe for a crowd?
Double the ingredients for 12 servings: use 3 lb ground beef and 1 lb ground pork for meatballs, 3 cups orzo, and 8 cups broth. Cook the meatballs in batches to avoid overcrowding, and use a large stockpot (8-quart minimum) to keep everything simmering together. The soup scales beautifully—just maintain the same ratios and simmer time.
Can I use ditalini pasta instead of orzo?
Yes, but the texture will differ slightly. Ditalini is a small tubular pasta that holds up better in soups, while orzo adds a creamy, rice-like bite. If using ditalini, reduce cooking time by 2 minutes (aim for 10-12 minutes) to avoid mushiness. For extra flavor, toast the ditalini in olive oil for 2 minutes before adding to the broth. Both work, but orzo gives that authentic Italian wedding soup texture.
Why do your meatballs stay tender while others turn dry?
The secret lies in the fat ratio and binding agents. Using 80% lean beef + pork ensures juiciness, while room-temperature eggs and chilling before browning lock in moisture. Overmixing develops gluten, so handle the mixture gently. Poaching the meatballs in broth (not frying) keeps them tender—this recipe avoids dryness by letting them cook gently in the soup’s liquid.
How long can I store leftovers?
Leftovers keep for 3 days in the fridge or 3 months in the freezer. Store in airtight containers with a layer of broth on top to preserve moisture. Reheat gently on the stove over medium-low heat, stirring occasionally, until warmed through. The flavors actually improve after resting overnight—just add a splash of broth if the soup thickens.
