Classic Italian Wedding Soup is a warm and comforting blend of tender meatballs, bright green spinach, and tiny pasta all swimming in a flavorful broth. This soup feels like a big hug on a chilly day, with just the right balance of savory and fresh. The little meatballs are perfectly seasoned and the broth is light but packed with delicious flavor.
I love making this soup when I want something cozy but not too heavy. The best part is how easy it is to customize—sometimes I add a sprinkle of Parmesan on top or a little extra garlic if I’m feeling bold. The spinach adds such a nice pop of color and freshness, making each spoonful both tasty and wholesome.
My favorite way to enjoy Italian Wedding Soup is with a crusty piece of bread for dipping. It’s the kind of meal that brings everyone around the table, and somehow feels both special and like home all at once. Whenever I make it, I remember family dinners and the way this soup just warms you from the inside out.
Key Ingredients & Substitutions
Meatballs: Using a mix of ground beef and pork gives your meatballs a great flavor and texture. If you prefer, you can swap pork for ground turkey or chicken for a lighter version. Fresh parsley and garlic make the meatballs taste bright and fresh.
Broth: Low-sodium chicken broth is best so you control the salt. Vegetable broth works well for a vegetarian twist. The broth is the heart of this soup, bringing all the flavors together.
Pasta: Acini di pepe pasta is traditional and looks lovely because it’s tiny. If you can’t find it, use small pastas like orzo or tiny star pasta. Keep an eye on cooking times so it stays tender but not mushy.
Greens: Fresh spinach adds color and a mild flavor. If you don’t have spinach, kale or Swiss chard can be good substitutes—just wash and chop them well.
How Can I Make Perfect Meatballs That Don’t Fall Apart?
Making small, tender meatballs that hold their shape is key here. Try these tips:
- Mix ingredients gently—overworking makes meatballs tough.
- Add breadcrumbs and egg to help bind everything together.
- Shape meatballs about 1 inch wide for quick, even cooking.
- Brown the meatballs in batches in a hot pan to seal in juices before adding to the soup.
- Don’t crowd the pan; this helps them brown rather than steam.
- They will finish cooking in the broth, so no need to cook through completely upfront.

Equipment You’ll Need
- Large pot or Dutch oven – perfect for cooking the soup and browning meatballs in one place.
- Mixing bowl – to gently combine meatball ingredients without overworking.
- Spoon or small cookie scoop – helps form evenly sized meatballs quickly.
- Wooden spoon – ideal for stirring the soup and scraping browned bits off the pot.
- Measuring cups and spoons – for accurate ingredient portions and seasoning.
Flavor Variations & Add-Ins
- Swap ground beef and pork for ground turkey or chicken to make the meatballs leaner and lighter.
- Add finely chopped kale or Swiss chard instead of spinach for a heartier green with a different texture.
- Mix in grated Pecorino Romano or Asiago cheese with Parmesan for a sharper cheese flavor in the meatballs.
- Stir in cooked white beans or chickpeas for extra protein and a slightly thicker soup.
Classic Italian Wedding Soup
Ingredients You’ll Need:
For the Meatballs:
- ½ pound ground beef
- ½ pound ground pork
- ½ cup Italian-style breadcrumbs
- ¼ cup grated Parmesan cheese
- 1 large egg
- 2 cloves garlic, minced
- ¼ cup fresh parsley, finely chopped
- ¼ teaspoon red pepper flakes (optional)
- Salt and black pepper to taste
For the Soup:
- 2 tablespoons olive oil
- 1 medium onion, diced
- 2 medium carrots, diced
- 2 celery stalks, diced
- 6 cups chicken broth (preferably low sodium)
- 1 cup acini di pepe pasta (or small pearl pasta)
- 4 cups fresh spinach leaves, roughly chopped
- ¼ cup fresh parsley, chopped (for garnish)
- Salt and black pepper to taste
Optional Garnish:
- Grated Parmesan cheese
- Crusty bread slices for serving
How Much Time Will You Need?
This hearty soup takes about 15 minutes to prepare and 25 minutes to cook, totaling around 40 minutes. It’s a quick way to make a tasty, filling meal that’s perfect for any day of the week.
Step-by-Step Instructions:
1. Make the Meatballs:
In a big bowl, gently mix the ground beef, ground pork, breadcrumbs, Parmesan cheese, egg, minced garlic, parsley, red pepper flakes (if you like a little heat), salt, and pepper. Be careful not to overmix so your meatballs stay tender. Shape the mixture into bite-sized balls about 1 inch wide and set them aside on a plate.
2. Brown the Meatballs:
Heat 1 tablespoon of olive oil in a large pot or Dutch oven over medium heat. Cook the meatballs in batches, turning them so all sides get a nice brown color, about 4-5 minutes per batch. They don’t need to be fully cooked yet because they’ll finish cooking in the soup. Once browned, place the meatballs on a plate and set aside.
3. Cook the Veggies and Broth:
In the same pot, add the remaining 1 tablespoon of olive oil. Toss in the diced onion, carrots, and celery. Cook them gently until soft and fragrant, about 5 to 7 minutes. Pour in the chicken broth and bring everything to a boil.
4. Simmer the Soup with Meatballs:
Carefully add the browned meatballs back into the pot. Turn the heat down to low and let the soup simmer for about 10 minutes, allowing the meatballs to finish cooking and the flavors to blend.
5. Add Pasta and Spinach:
Stir in the acini di pepe pasta and cook according to the package instructions, usually 5 to 7 minutes, until al dente. In the last 2 minutes of cooking, add the chopped spinach so it wilts gently into the soup.
6. Final Touches and Serving:
Give the soup a taste and season it with salt and pepper if needed. Serve the soup hot, topped with chopped parsley and a sprinkle of Parmesan cheese. For the perfect finish, offer crusty bread on the side to enjoy with each warm, delicious spoonful.
Can I Use Frozen Meatballs Instead of Fresh?
Yes, you can use frozen meatballs—just thaw them completely before adding to the soup. Add them directly to the simmering broth and cook until heated through, which usually takes a bit longer than fresh meatballs.
What Can I Substitute If I Don’t Have Acini di Pepe Pasta?
If you can’t find acini di pepe, small pastas like orzo, tiny shells, or even couscous work great. Just adjust the cooking time based on the pasta you choose so it stays tender but not mushy.
How Long Can I Store Leftovers?
Store leftover soup in an airtight container in the fridge for up to 3 days. Reheat gently on the stove over low heat. Keep in mind the pasta will continue to soak up broth, so the soup may thicken—add a splash of broth or water when reheating if needed.
Can I Make This Soup Vegetarian?
Absolutely! Swap the meatballs for plant-based ones or omit them altogether. Use vegetable broth instead of chicken broth, and feel free to add extra veggies like zucchini or mushrooms for more flavor and texture.



