Classic Italian Wedding Soup is a warm and hearty dish that brings together tender meatballs, delicate greens, and tiny pasta in a savory broth. It’s a simple yet comforting meal that’s perfect for cozy evenings and when you want a little taste of Italy at home.
I love how the little meatballs pack so much flavor, and the bit of spinach or escarole adds a fresh, slightly bitter contrast that really brightens up the soup. The small pasta, like acini di pepe or orzo, makes it fun to eat and adds just the right amount of texture without weighing the soup down.
One of my favorite ways to enjoy this soup is with a good crusty piece of bread to soak up all the broth. It’s also great to make a big pot and have leftovers because it tastes even better the next day. I think what makes this soup so special is how easy it feels but still makes everyone at the table feel cared for and full of warmth.
Key Ingredients & Substitutions
Ground Beef and Pork: Combining these two gives meatballs a rich flavor and tender texture. If you prefer, turkey or chicken can be used for a leaner option, but the meatballs may be less juicy.
Italian Seasoned Breadcrumbs: These add flavor and help bind the meatballs. If you don’t have Italian-seasoned crumbs, plain breadcrumbs with a pinch of Italian herbs work well.
Parmesan Cheese: It adds a salty, nutty note to the meatballs and soup. Try Pecorino Romano if you want a sharper taste, or skip it for a dairy-free version.
Small Pasta: Acini di pepe and orzo are traditional and hold up nicely in the broth. If you can’t find these, small pastas like ditalini or tiny shells can replace them.
Greens: Spinach is mild and easy to find, but escarole adds a nice slightly bitter touch that cuts richness. Kale or Swiss chard can be good alternatives too.
How Do I Make Tender, Flavorful Meatballs That Don’t Fall Apart?
Meatballs are the heart of this soup, so here’s how to get them just right:
- Mix ingredients gently. Overworking the meat can make tough meatballs.
- Keep the meatballs small (about 1 inch wide). They cook quickly and stay tender.
- Brown them in batches on medium heat to form a crust, which locks in juices.
- Do not overcrowd the pan; give each meatball space to brown evenly.
- After browning, finish cooking the meatballs in the simmering soup to keep them juicy and absorb broth flavor.
These tips help you get soft but flavorful meatballs that hold together and taste great throughout the soup.

Equipment You’ll Need
- Large pot – perfect for simmering the soup and cooking the meatballs all in one place.
- Mixing bowl – for combining your meatball ingredients easily.
- Slotted spoon – helps you lift browned meatballs out without extra oil.
- Wooden spoon – great for sautéing vegetables without scratching your pot.
- Measuring cups and spoons – to keep your ingredient amounts just right.
Flavor Variations & Add-Ins
- Swap ground beef/pork with turkey or chicken for a lighter meatball.
- Add cooked white beans to the soup for extra protein and creaminess.
- Use kale or swiss chard instead of spinach for a heartier green.
- Include a pinch of red pepper flakes for a gentle, warming heat.
Classic Italian Wedding Soup Recipe
Ingredients You’ll Need:
For the Meatballs:
- ½ pound ground beef
- ½ pound ground pork
- ¼ cup Italian seasoned breadcrumbs
- ¼ cup grated Parmesan cheese
- 1 large egg
- 2 cloves garlic, minced
- 2 tablespoons fresh parsley, chopped
- Salt and pepper, to taste
For the Soup:
- 1 tablespoon olive oil
- 1 medium onion, diced
- 2 stalks celery, diced
- 2 medium carrots, diced
- 6 cups chicken broth
- 1 cup small pasta (such as acini di pepe or orzo)
- 4 cups fresh spinach, chopped (or escarole)
- Salt and pepper, to taste
- 2 tablespoons fresh parsley, chopped (for garnish)
- Grated Parmesan cheese, for serving
Time Needed:
This recipe takes about 15 minutes to prepare and roughly 30 minutes to cook. All in all, it’s about 45 minutes from start to table—a perfect amount for a cozy, satisfying meal!
Step-by-Step Instructions:
1. Make the Meatballs:
In a large bowl, gently combine the ground beef and pork with the breadcrumbs, grated Parmesan, egg, garlic, chopped parsley, salt, and pepper. Mix just until everything comes together—avoid overmixing to keep the meatballs tender. Roll the mixture into small, bite-sized meatballs, about 1 inch in diameter.
2. Brown the Meatballs:
Heat the olive oil in a large pot over medium heat. Working in batches, brown the meatballs on all sides until they develop a nice golden color. Remove them from the pot and set aside—this helps lock in the flavors and keeps them from falling apart later.
3. Cook the Vegetables and Simmer:
In the same pot, add the diced onion, celery, and carrots. Sauté for about 5 to 7 minutes, until the veggies are soft and fragrant. Then pour in the chicken broth and bring it to a boil. Once boiling, add the browned meatballs back into the pot.
4. Add Pasta and Greens:
Stir in the small pasta and cook according to the package instructions, usually 6 to 8 minutes, until the pasta is tender. Finally, add the chopped spinach (or escarole) and cook for another 2 to 3 minutes until the greens are wilted and tender.
5. Final Touches and Serve:
Taste the soup and season with salt and pepper as needed. Ladle the soup into bowls, sprinkle with fresh parsley and extra Parmesan on top. Serve warm with toasted bread if you like—perfect for dipping into the delicious broth!
Can I Use Frozen Meatballs for This Soup?
Yes! If using frozen meatballs, thaw them completely in the fridge overnight before browning. This helps them cook evenly and absorb the flavors better when simmered in the broth.
Can I Make This Soup Ahead of Time?
Absolutely. You can prepare the meatballs and soup base a day ahead. Store everything separately, then combine and heat gently before serving to keep the pasta and greens fresh.
How Should I Store Leftovers?
Store leftover soup in an airtight container in the fridge for up to 3 days. Reheat gently on the stove to prevent overcooking the pasta and greens, adding a splash of broth if needed to loosen the soup.
What Can I Substitute for Spinach?
Try escarole, kale, or Swiss chard as tasty alternatives. Just chop them and add to the soup near the end of cooking until wilted—similar to how you’d use spinach.



