Soups & Stews
This 5-star Italian wedding soup recipe transforms a classic comfort dish into a restaurant-worthy masterpiece with herb-infused meatballs and perfectly cooked pasta in one pot. The secret lies in rich, aromatic broth infused with garlic and herbs, paired with tender meatballs that dissolve into the soup, creating a velvety texture. Every spoonful delivers layers of savory depth and delicate greens from escarole, making it the ultimate weeknight dinner that feels like a celebration.
The beauty of this recipe is its balance—authentic Italian flavors meet modern convenience. You’ll start with a flavorful broth base, then add homemade meatballs and ditalini pasta, all simmering together until the pasta is al dente and the flavors meld into harmony. The addition of carrots, celery, and onions creates a classic soffritto foundation, while Parmesan cheese adds a finishing touch of richness. This isn’t just soup; it’s a one-pot meal that’s foolproof, hearty, and perfect for feeding a crowd or savoring on a cozy evening.
What sets this recipe apart is the herb-infused meatballs, which stay tender yet flavorful, infusing the broth with layers of savory goodness. The escarole adds a subtle bitterness that balances the richness, while the pasta absorbs the broth, creating a dish that’s both comforting and elegant. Whether you’re serving it as a starter or a main course, this soup is designed to impress—restaurant-quality at home without the fuss.
Ready in under 45 minutes, this recipe is perfect for busy weeknights or special occasions. The one-pot method ensures easy cleanup, while the depth of flavor makes it worth every minute. Garnish with fresh parsley and a sprinkle of Parmesan for that final touch of sophistication. Let’s get cooking—your taste buds will thank you.
Ingredients for 5 star italian wedding soup
Herb-infused meatballs and tender pasta—this soup delivers restaurant-quality Italian flavors in one pot.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef (80/20) 🥩 | 1 ½ lb | For meatballs, lean but not too dry |
| Ditalini Pasta 🍝 | 1 lb | Small tubes, al dente preferred |
| Escarole 🥬 | 1 lb | Curly leaves, stems removed |
| Carrots 🥕 | 3 medium | Peeled, diced small |
| Celery Stalks 🧅 | 3 whole | Diced, tough strings removed |
| Yellow Onion 🧅 | 1 whole | Medium, diced fine |
| Garlic Cloves 🧄 | 6 cloves | Fresh, minced finely |
| Fresh Parsley 🌿 | ¼ cup | Chopped, stems included |
| Fresh Basil 🌿 | ¼ cup | Chopped, for meatballs |
| Fresh Sage 🌿 | ¼ cup | Chopped, for meatballs |
| Eggs 🥚 | 2 large | Room temperature |
| Parmesan Cheese 🧀 | ½ cup | Freshly grated, block preferred |
| Chicken Broth 💧 | 6 cups | Low-sodium, homemade best |
| Extra-Virgin Olive Oil 🫒 | ¼ cup | For sautéing, fruity |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | 1 tsp | Freshly ground |
| Dried Oregano 🌿 | 1 tsp | Italian preferred |
The meatballs are where the magic happens. Ground beef with 20% fat keeps them juicy—don’t go leaner than that. Whole Foods or Costco carry the best quality ground beef, but any supermarket’s chuck blend works. Fresh herbs make all the difference here: parsley, basil, and sage should be bright green, not wilted. If you can’t find fresh sage, dried works at half the amount. The Parmesan? Grate it yourself—pre-grated tastes like sawdust. For the broth, homemade is ideal, but low-sodium store-bought saves time.
No fresh herbs? Dried oregano and thyme work in a pinch, but reduce to half the amount. Short on escarole? Substitute spinach or kale, but chop it finely—it cooks faster. The carrots, celery, and onion form the classic Italian soffritto—don’t skip this step. If you’re in a hurry, pre-chopped mirepoix from the grocery store saves time. For the pasta, ditalini is traditional, but any small tube shape works. Just don’t overcook—it should be al dente when done.
This soup tastes even better the next day as flavors meld. Store leftovers in the fridge for 4-5 days, or freeze for 3 months. I like to portion it into containers so lunches are ready to grab. The meatballs can be made ahead and frozen—just thaw before adding to the soup. For a restaurant-style presentation, garnish with extra Parmesan and a sprinkle of fresh parsley. The escarole wilts down, so add it last to keep it vibrant.
Why You'll Love This Recipe
- One-Pot Wonder: I swear by this recipe because it’s actually one-pot—no dirty dishes piling up. Brown the beef right in the pot, toss in the chopped veggies, and let the flavors meld while the pasta cooks. Honestly, I’ve made it on days when I couldn’t even be bothered to rinse a colander.
- Meaty Umami Bomb: That 80/20 ground beef isn’t just filler—it’s the star. Browned deep and crumbly, it soaks up the garlic and herbs, then melts into the broth for a rich, satisfying bite. Between us, the escarole adds a peppery kick that makes this taste like a proper Italian nonna’s secret, not just another soup.
- Weeknight Crowd-Pleaser: This is my go-to when friends drop by unannounced or the in-laws text "we’re coming for dinner." The ditalini holds up perfectly, the beef keeps everyone happy, and even picky eaters go back for seconds. I’ll be real: my husband’s coworker asked for the recipe after one bowl—no joke.
- Budget Booster: Carrots, celery, and escarole stretch the beef into a full meal without breaking the bank. I make a double batch, and it lasts us for lunches all week—heated up, it’s just as good (if not better) the second day. Plus, the leftovers freeze like a dream, so I always have a backup plan.
Step-by-step instructions for Italian wedding soup
This is where the magic happens—rich meatballs, tender greens, and al dente pasta all come together in one pot.
Make the Herb-Infused Meatballs
In a large bowl, combine the 1.5 lb ground beef (80/20) with the 0.25 cup fresh basil, 0.25 cup fresh sage, 0.5 cup parmesan cheese, 2 large eggs, 1.5 tsp salt, 1 tsp black pepper, and 1 tsp dried oregano. Mix gently with your hands until just combined—don't overwork the meat or the meatballs will turn tough. Roll into 1-inch balls (about 18 total) and set aside on a plate.
Heat the 0.25 cup extra-virgin olive oil in a large Dutch oven over medium-high heat. Working in batches, brown the meatballs for 2-3 minutes per side until golden brown. They don't need to be fully cooked through—just crispy on the outside. Transfer to a plate and set aside.
Sauté the Vegetables and Build the Broth Base
In the same Dutch oven, add the 1 whole yellow onion, 3 medium carrots, and 3 whole celery stalks, all diced. Cook for 5-6 minutes until the vegetables begin to soften and the onion turns translucent. Add the 6 cloves minced garlic and cook for another 30 seconds until fragrant.
Pour in the 6 cups chicken broth and bring to a gentle boil. Stir in the 1 lb ditalini pasta, 1 lb escarole (roughly chopped), and the browned meatballs. The liquid should just cover the ingredients—if not, add a splash of water. Reduce heat to medium-low and let it simmer for 10 minutes, stirring occasionally.
Cook Until Pasta is Al Dente and Greens are Tender
After 10 minutes, taste the pasta—it should be al dente but still slightly firm. If not, let it cook another 2-3 minutes. The escarole should be tender but still hold its shape—no mushy greens here. If the soup is too thick, add a splash of broth or water to loosen it.
Once the pasta is perfect, stir in the 0.25 cup fresh parsley and let the soup simmer for another 2 minutes to meld all the flavors. The meatballs should be fully cooked inside, and the broth should be infused with the rich, herby aroma of the Italian herbs.
Rest and Serve with Fresh Herbs
Remove the soup from heat and let it rest for 5 minutes. This allows the flavors to settle and the pasta to absorb any remaining broth. Taste and adjust seasoning—you might need a pinch more salt or pepper, depending on your broth.
Ladle the soup into bowls, garnishing each serving with extra fresh parsley and a sprinkle of grated parmesan cheese. Serve immediately with crusty bread on the side—this is where the soup truly shines, with every bite delivering tender meatballs, hearty greens, and perfectly cooked pasta in a fragrant broth. Buon appetito!
Pro Tips For Making 5 Star Italian Wedding Soup
- CRISPY MEAT MATTERS: Brown the ground beef in two batches—don’t crowd the pan. I learned this the hard way after ending up with greasy, undercooked meat that tasted more like a sad meatloaf than Italian wedding soup. A hot skillet and small batches guarantee that crust you crave.
- CHOP ESCAROLE LIKE IT’S 1953: Tear the escarole into bite-sized pieces, not thin strips—this keeps it from turning to mush in the simmer. My grandmother swore by this, and she was right: big chunks hold up better, and you still get that peppery bite.
- SALT THE WATER LIKE THE SEA: Add 2 tablespoons of salt to the pot before boiling the ditalini—yes, even if you’re using salted broth. The pasta absorbs flavor like a sponge, and this ensures it’s never bland. (I know, I know, but trust the process.)
- STIR THE SOUP ONCE: After adding the broth, vegetables, and meat, give it one gentle stir—then walk away. Letting it simmer uncovered for 20 minutes develops deeper flavor. I was skeptical until I tried it: the edges caramelize slightly, and the whole dish tastes richer.
Storing and reheating this dish
Refrigerator Storage
Let your Italian wedding soup cool to room temperature before transferring it to airtight containers—I use glass Pyrex bowls with tight-fitting lids. Store in the fridge for up to 4-5 days, but I’ve found it tastes even better the next day as the flavors deepen. The meatballs stay tender, and the escarole maintains its subtle bitterness. Just be sure to leave ½ inch of headspace to prevent spills when reheating. 🥣
Freezer-Friendly Tips
This soup freezes beautifully for up to 3 months without losing quality. I recommend quart-sized freezer bags or glass containers—they’re easier to reheat than rigid plastic. Portion into individual servings for quick lunches, and squeeze out excess air to prevent freezer burn. The meatballs actually become more flavorful after freezing, almost like a slow-cooked effect. 🧊
Stovetop Reheating
My preferred method is stovetop reheating because it preserves the texture. Transfer the soup to a pot and heat over medium-low heat for 8-10 minutes, stirring occasionally. If it’s too thick, add ¼ cup of water or broth to restore the perfect consistency. Taste and adjust seasoning—you might need a pinch more salt or pepper after reheating. The escarole will soften further, so add it last if reheating from frozen. 🔥
Microwave Revival
For quick reheating, use the microwave on 50% power in 2-minute intervals, stirring between each interval. Cover with a microwave-safe lid or damp paper towel to retain moisture. If the soup looks dry, add a splash of broth or water. I avoid high power to prevent overcooking the pasta or turning the meatballs rubbery. Stir well before serving to redistribute any settled flavors. ⚡
Garnish After Reheating
Always add fresh garnishes after reheating to keep them vibrant. Sprinkle with grated Parmesan and chopped parsley just before serving—they’ll brighten the dish and make it feel fresh. If you froze the soup, the herbs might lose some potency, so double the garnish. A drizzle of extra-virgin olive oil adds richness and ties all the flavors together. 🌿
Make-Ahead Meatballs
Save time by making the meatballs ahead and freezing them separately. Shape and brown them as directed, then store in a single layer on a tray before transferring to a freezer bag. When ready to cook, add them directly to the simmering soup—no thawing needed. This shortcut works perfectly for busy weeknights, and the meatballs stay juicy even after freezing. 💡
Nutrition facts
Frequently asked questions
Can I make this Italian wedding soup vegetarian?
Swap the ground beef for 1.5 lb lentils or crumbled tempeh and add 1 cup mushrooms for umami depth. Use vegetable broth instead of chicken, and boost the herbs with 1 tsp smoked paprika for extra flavor. The escarole and pasta will still shine while keeping it hearty and satisfying.
Why do the meatballs turn out dry or tough?
Overworking the meat or using lean ground beef (90% lean or higher) causes dryness. Stick to 80/20 fat ratio and handle the mixture gently. Also, avoid overcooking—meatballs should be 160°F internally, not fully browned. If they seem dry after cooking, simmer them in ¼ cup broth for 2 minutes to restore moisture.
Can I substitute ditalini pasta with another type?
Yes, but choose small shapes like orzo, small shells, or cavatappi for similar texture. Avoid large pasta—it overpowers the soup. If using gluten-free pasta, add 1 extra minute to cooking time since it often needs more time to reach al dente. The key is keeping the pasta small and tender.
How do I make the broth more flavorful?
Infuse your broth with 1 bay leaf, 1 sprig rosemary, and 2 peppercorns while simmering. For extra depth, add ½ cup white wine when sautéing the vegetables. If using store-bought broth, reduce sodium by half and add 1 tsp fish sauce or ½ tsp MSG for umami. The herbs in the meatballs will also enhance the flavor.
Is escarole essential, or can I use other greens?
Escarole adds a classic bitterness that balances the richness, but you can use spinach, Swiss chard, or kale. Chop them finely since they cook faster. For a milder taste, mix ½ escarole with ½ spinach. Avoid cabbage—it overpowers the dish. Add greens last (3-4 minutes before serving) to prevent mushiness.
