This Italian wedding soup starts with tender, homemade chicken meatballs simmered in a savory broth with carrots, celery, and baby spinach, until every spoonful tastes like it's been on the stove much longer than it has. A small pasta like acini di pepe cooks right in the pot, so it soaks up the broth instead of sitting on the side. Using chicken instead of a heavier beef or pork blend keeps the meatballs juicy and the whole bowl lighter, not weighed down. It's the soup I reach for when someone in the house is getting over a cold, or when I want a comforting dinner without a lot of fuss. From start to finish, it's ready in under an hour, meatballs included.

Jump to:
Chicken Meatballs Make This Wedding Soup Lighter
Traditional Italian wedding soup usually calls for a mix of beef, pork, or veal in the meatballs, which makes for a richer, heavier bowl. The version I grew up eating was somewhere between all three. I started swapping in ground chicken years ago, mostly because it's what I usually have thawed in the fridge, and I ended up liking it even more than the original. The broth stays lighter, and the meatballs cook a little faster too, so the whole pot comes together on an ordinary weeknight instead of an all-day project.
Another thing I tweaked was browning the meatballs before they go into the broth. Dropping raw meatballs straight into simmering broth left me with a cloudy pot and a few meatballs that fell apart before the pasta was even done. Now I brown them in a hot pot for 4-5 minutes, just enough to set the outside, then let them finish cooking directly in the simmering broth with the vegetables and pasta. That's what keeps them holding together, and it leaves behind bits in the pot that add even more flavor to the broth once you pour it in.
If your family likes my Baked Turkey Spinach Meatballs, you'll notice a similar lean, well-seasoned meatball here, just simmered in a light broth instead of baked and served with sauce. I still keep a bag of those in the freezer for busy nights, and dropping frozen, fully cooked chicken or turkey meatballs straight into this broth along with the pasta is a shortcut I lean on more often than I probably admit. Homemade is worth the extra 15 minutes when I have it, since the meatballs are sized specifically for soup and seasoned to match the broth, but the soup still turns out good either way, just a little less herby without the fresh parsley and garlic baked in.
Key Ingredients & Substitutions

- Ground chicken. This keeps the meatballs and the broth lighter than a traditional beef or pork version. Ground turkey works the same way in the same amount.
- Panko breadcrumbs. These keep the meatballs tender by holding a little moisture. Regular breadcrumbs work too, or gluten-free panko if you need this dish gluten-free.
- Egg. This binds the meatball mixture together. There isn't a great swap here for keeping the same texture, so it's worth keeping as written if you can.
- Acini di pepe or pearl couscous. Both are small enough to eat by the spoonful along with the broth and meatballs. Ditalini or orzo work as a swap in the same amount. Pearl couscous is a wheat pasta despite the name, so it isn't gluten-free.
- Baby spinach or chopped escarole. Escarole is the more traditional green here, with a slightly bitter edge that mellows as it cooks. Spinach is milder and easier to find, and either works well.
- Chicken broth. Since this soup is mostly broth, a good one makes a real difference. Use a low-sodium broth if you're watching sodium, since the meatballs and seasoning add salt throughout.
See the recipe card below for the remaining ingredients and quantities.
Instructions

Step 1
In a large bowl, combine the ground chicken, panko, parmesan, egg, garlic, parsley, salt, and pepper. Mix gently with your hands just until combined, being careful not to overwork the mixture. Roll into 1-inch meatballs. Heat 1 tablespoon of olive oil in a large pot over medium-high heat. Add the meatballs in a single layer, working in batches if needed. Brown for 4-5 minutes, turning gently to color two or three sides. They don't need to be fully cooked yet. Transfer the meatballs to a plate.

Step 2
Reduce the heat to medium and add the remaining tablespoon of olive oil if the pot looks dry. Add the onion, carrots, and celery. Cook for 6-7 minutes, stirring occasionally, until softened and just starting to turn translucent. Add the garlic and cook for 1 minute, until fragrant.

Step 3
Pour in the chicken broth, scraping up any browned bits from the bottom of the pot. Bring to a gentle simmer. Return the meatballs and any juices on the plate to the pot.

Step 4
Add the pasta and simmer according to the package directions, usually 7-10 minutes, until the pasta is tender and the meatballs reach 165°F internally.

Step 5
Stir in the spinach or escarole and cook for about 2 minutes, until just wilted and bright green. Season with salt and pepper to taste. Serve hot, topped with grated parmesan.
Sarah's Top Tips
- Keep the meatballs small, about 1 inch across. Smaller meatballs cook through fully in the time it takes the pasta to cook, so you're not left waiting on a few oversized ones while everything else is ready. You should get about 24-28 out of this batch.
- Don't overwork the meatball mixture. Mix just until the ingredients come together, using your hands or a fork. Overmixing presses out the air and makes the meatballs dense and tough instead of tender, so stop as soon as everything is combined.

Serving Suggestions
The classic way to serve Italian wedding soup is on its own, with warm crusty bread alongside for dipping into the broth. That's how I serve it most often, since the meatballs, greens, and pasta already make it a full meal.
When I want a fresh side, I'll put out my Spinach and Arugula Salad with Lemon Vinaigrette. The bright vinaigrette is a nice contrast to the savory broth, and it's an easy way to work in another serving of greens.
If you're serving this as a starter before a bigger meal, keep the portions small, a cup or so per person, and follow it with a heartier main like my Chicken Cacciatore (No Olives) for a full Italian dinner.
Storage & Reheating
Fridge. Store in an airtight container in the refrigerator for up to 4 days. The pasta absorbs more broth the longer it sits, so the soup gets thicker by the second or third day.
Freezer. Freeze the soup without the pasta for the best texture, since acini di pepe and pearl couscous both turn mushy after freezing and thawing. Store the broth, meatballs, and vegetables in a freezer-safe container for up to 3 months, then cook fresh pasta to add in when you reheat. Thaw overnight in the refrigerator before reheating.
Reheating. Warm on the stovetop over medium heat until hot throughout, or microwave in 1-minute bursts, stirring between each. Add a splash of broth if the soup has thickened more than you'd like.
Make Ahead. The meatballs can be shaped and refrigerated up to a day ahead of time. They can also be frozen raw. Just thaw them overnight in the refrigerator before browning as directed.
Did you make this recipe? Leave a ⭐️⭐️⭐️⭐️⭐️ rating and a comment below-I'd love to hear how it turned out! THANK YOU!

Italian Wedding Soup with Chicken Meatballs
Save this Recipe!
See the full post for extra tips and photos
Ingredients
For the Meatballs
- 1 pound ground chicken
- ½ cup panko breadcrumbs
- ¼ cup grated parmesan
- 1 egg
- 2 garlic cloves, minced
- 2 tablespoons fresh parsley, chopped
- ½ teaspoon salt
- ¼ teaspoon black pepper
For the Soup
- 1 tablespoon olive oil
- 1 yellow onion, diced
- 2 carrots, peeled and diced
- 2 celery stalks, diced
- 3 garlic cloves, minced
- 8 cups chicken broth
- 1 cup small pasta, acini di pepe or pearl couscous
- 4 cups baby spinach or chopped escarole
- Salt and black pepper, to taste
- Grated parmesan, for serving
Instructions
- In a large bowl, combine the ground chicken, breadcrumbs, Parmesan, egg, garlic, parsley, salt, and pepper. Mix gently until just combined, being careful not to overwork the mixture. Roll into 1-inch meatballs; you should have about 24-28.1 pound ground chicken, ½ cup panko breadcrumbs, ¼ cup grated parmesan, 1 egg, 2 garlic cloves, 2 tablespoons fresh parsley, ½ teaspoon salt, ¼ teaspoon black pepper
- Heat 1 tablespoon of olive oil in a large pot over medium-high heat. Add the meatballs in a single layer, working in batches if necessary. Brown for about 4-5 minutes, gently turning to brown two or three sides. They do not need to be fully cooked yet. Transfer the meatballs to a plate.1 tablespoon olive oil
- Reduce the heat to medium and add the remaining tablespoon of olive oil if the pot looks dry. Add the onion, carrots, and celery. Cook for 6-7 minutes, stirring occasionally, until softened.1 yellow onion, 2 carrots, 2 celery stalks
- Add the garlic and cook for 1 minute. Pour in the chicken broth, scraping up any browned bits from the bottom of the pot. Bring to a gentle simmer.3 garlic cloves, 8 cups chicken broth
- Return the browned meatballs and any accumulated juices to the pot. Add the pasta and simmer according to the pasta's package directions, usually 7-10 minutes, until the pasta is tender and the meatballs reach an internal temperature of 165°F.1 cup small pasta
- Stir in the spinach or escarole and cook for about 2 minutes, until wilted. Season with salt and black pepper to taste.4 cups baby spinach or chopped escarole, Salt and black pepper
- Serve hot, topped with grated Parmesan.Grated parmesan
Sarah's Tips
- Keep meatballs to about 1 inch so they cook through evenly with the pasta.
- Don't overmix the meatball mixture, or they'll turn dense instead of tender.
- Brown the meatballs the full 4 to 5 minutes before adding them to the broth, or they can fall apart during the simmer.
- Watching sodium? Use low sodium chicken broth and taste before adding extra salt.
- Out of ground chicken? Ground turkey works in the exact same amount.
- Short on time? Thawed, fully cooked chicken or turkey meatballs can replace the homemade ones, added straight into the simmering broth.
- Meatballs can be shaped a day ahead or frozen raw, thaw overnight before browning.
- Freezing leftovers? Leave out the pasta and add it fresh when reheating, since it turns mushy once frozen.
- Store leftovers in the fridge for up to 4 days.


Comments
No Comments