There’s something downright magical about the way the aroma of simmering broth, savory meatballs, and fresh spinach can fill a kitchen on a chilly afternoon. Picture this: tiny pearls of acini di pepe pasta bobbing alongside flecks of vibrant green spinach, little meatballs floating like treasure, and steam swirling up from your favorite soup pot. The first time I ladled a bowl of Italian Wedding Soup, I swear, I just stopped—spoon in hand—and took in that homey, comforting scent. The kind of moment that makes you pause, close your eyes, and think, “Yep, this is what cozy tastes like.”
I still remember the day I stumbled upon this Italian Wedding Soup recipe. It was years ago when I was knee-high to a grasshopper, standing next to my Nonna as she rolled meatballs with the flick of her weathered hands. She told me, “The secret’s in the mix—never rush a meatball!” There in her kitchen, I learned soup wasn’t just soup; it was a kind of love letter to family, tradition, and the little things that make life delicious. Honestly, I can’t believe I didn’t start making this myself sooner. It’s the sort of recipe you wish you’d known about before every cold snap and sniffly day.
Whenever I make this at home now, my kids start circling the kitchen like little hawks, waiting for me to say dinner’s ready (and, yes, they always manage to sneak a meatball or two straight from the pot). It’s perfect for Sunday suppers, easy weeknight meals, or when you want to brighten up your Pinterest board with a soup that looks as good as it tastes. And, let’s face it, there’s nothing quite like a bowl of Italian Wedding Soup to turn a regular meal into something that feels like a warm hug. I’ve tested this recipe more times than I can count—all in the name of research, of course—and it’s become a staple for family gatherings and neighborly soup swaps. Trust me, you’re going to want to bookmark this one.
Why You’ll Love This Italian Wedding Soup Recipe
I’ve cooked my way through a lot of soups, but this Italian Wedding Soup recipe with tender meatballs and spinach always stands out. Over the years, I’ve tweaked and tested every step to make sure it comes out just right—every single time. Here’s why you’ll be hooked after one spoonful:
- Quick & Easy: This soup comes together in under an hour—even with homemade meatballs. It’s perfect for busy nights when you still want a homemade dinner.
- Simple Ingredients: No need for fancy specialty stores. Most of these ingredients are probably in your fridge or pantry already.
- Perfect for Any Occasion: Whether you’re feeding a crowd, prepping lunch for the week, or just craving a bowl of comfort, this is your go-to. Great for potlucks, cozy dinners, or even holiday gatherings.
- Crowd-Pleaser: I have yet to meet a kid (or adult) who doesn’t go back for seconds. The meatballs are bite-sized—just right for little hands—and the broth is gently seasoned so everyone can enjoy it.
- Unbelievably Delicious: The combination of tender meatballs, savory broth, and tender spinach is pure, nostalgic comfort. The little pasta pearls soak up all the flavor, making each bite hearty and satisfying.
What makes this Italian Wedding Soup different from so many others? The meatballs are made tiny and tender, thanks to a mix of ground beef and pork, a splash of milk, and a handful of parmesan. The spinach is stirred in at just the right time—so it stays bright and fresh, never soggy. And that acini di pepe pasta gives the soup its classic, cozy texture.
This isn’t just soup—it’s the kind of dish that makes you slow down for a minute and really enjoy dinner. It’s comfort food with a little Italian soul, made a bit healthier and a whole lot easier with a few smart tricks. Whether you’re impressing guests or just feeding your own crew, you’ll find yourself making this Italian Wedding Soup recipe again and again. It’s honestly my best version yet, and I can’t wait for you to try it.
What Ingredients You Will Need
This Italian Wedding Soup recipe uses a handful of simple, wholesome ingredients to deliver big flavor and that signature cozy texture. No need for a long grocery list—most of these are pantry staples, and there’s plenty of wiggle room for swapping in what you have on hand. Let’s break it down:
For the Meatballs:
- Ground beef (8 oz / 225g) – I like using 80% lean for juicy meatballs.
- Ground pork (8 oz / 225g) – Adds richness and classic flavor. You can use all beef if you prefer.
- Fresh breadcrumbs (1/2 cup / 30g) – Homemade or store-bought. Panko works too.
- Parmesan cheese (1/3 cup / 30g, finely grated) – I recommend grating it yourself for the best melt and flavor.
- Milk (3 tbsp / 45ml) – Makes the meatballs extra tender.
- Egg (1 large) – Binds everything together.
- Garlic (2 cloves, minced) – Adds a nice kick.
- Italian seasoning (1 tsp) – Or use a mix of dried oregano and basil.
- Kosher salt (1/2 tsp) and black pepper (1/4 tsp) – Season to taste.
For the Soup:

- Olive oil (2 tbsp / 30ml) – For sautéing the veggies. Extra-virgin for the best flavor.
- Yellow onion (1 medium, diced) – Sweet and aromatic.
- Carrots (2 medium, peeled and diced) – Adds color and sweetness.
- Celery stalks (2, diced) – For that classic soup base.
- Chicken broth (8 cups / 2 liters) – I like low-sodium so I can control saltiness. Homemade is a bonus!
- Acini di pepe pasta (3/4 cup / 125g) – These tiny “peppercorn” pastas are traditional, but orzo or ditalini work too.
- Fresh spinach (5 oz / 140g, roughly chopped) – Baby spinach wilts quickly and stays bright. Kale or escarole are great alternatives.
- Salt and pepper – To taste, for final seasoning.
Optional Finishing Touches:
- Extra parmesan cheese – For serving. I always keep a wedge handy.
- Fresh parsley – Chopped, for a pop of green.
- Lemon wedges – A squeeze brightens up the broth.
Ingredient tips: If you need gluten-free, swap in gluten-free breadcrumbs and pasta. Dairy-free? Try nutritional yeast instead of parmesan and a dairy-free milk alternative. When spinach is out of season, frozen works in a pinch—just thaw and squeeze out excess water. Honestly, this recipe is as flexible as you need it to be.
Equipment Needed
- Large soup pot (at least 5-quart/5-liter): Essential for simmering the soup and fitting all those meatballs. A Dutch oven works, too. My old enameled pot has never let me down.
- Baking sheet or plate: For shaping and resting the meatballs before dropping them into the soup.
- Mixing bowls: One for the meatball mixture, one for prepping veggies. I use glass so I can see everything mixing together.
- Measuring cups and spoons: Precision matters, especially for the pasta and meatballs.
- Sharp knife and cutting board: For prepping veggies and chopping spinach. A good knife makes all the difference—just remember to keep it sharp for safety!
- Wooden spoon or spatula: For stirring the soup and scraping up any tasty bits from the bottom of the pot.
- Small cookie scoop or teaspoon: This is my trick for making evenly-sized, mini meatballs without sticky hands. A melon baller works, too, if you have one.
If you don’t have a cookie scoop, just scoop with a spoon and roll between damp hands. For budget-friendly options, thrift stores often have sturdy soup pots and utensils at a bargain. Just give specialty equipment a good scrub before first use, and your soup will taste just as homemade and cozy as ever.
Preparation Method
- Make the Meatball Mixture: In a large mixing bowl, add 8 oz (225g) ground beef, 8 oz (225g) ground pork, 1/2 cup (30g) fresh breadcrumbs, 1/3 cup (30g) finely grated parmesan, 3 tbsp (45ml) milk, 1 large egg, 2 minced garlic cloves, 1 tsp Italian seasoning, 1/2 tsp kosher salt, and 1/4 tsp black pepper. Mix gently with your hands or a fork until just combined (don’t overwork the meat—otherwise, your meatballs can turn tough).
- Form the Meatballs: Scoop out small amounts (about 1 teaspoon each, or use a small cookie scoop) and roll into balls. You should get around 40 to 44 mini meatballs. Set them on a baking sheet or plate. If the mixture gets sticky, wet your hands lightly with water.
- Prep the Soup Base: Heat 2 tbsp (30ml) olive oil in a large soup pot over medium heat. Add the diced onion, carrots, and celery. Sauté for 5–7 minutes until the veggies are softened and fragrant but not browned. Stir occasionally and listen for that sizzle!
- Add the Broth: Pour in 8 cups (2 liters) chicken broth. Bring to a gentle boil, then reduce to a simmer.
-
Add the Meatballs: Carefully drop the meatballs into the simmering broth, one at a time, so they don’t break apart. Let them cook for 8–10 minutes, until cooked through and floating. Don’t stir too vigorously at first—just let them set up in the broth.
Troubleshooting tip: If your meatballs seem to break, the mixture may have been overworked or too wet. Next time, try adding a bit more breadcrumbs. -
Add the Pasta: Stir in 3/4 cup (125g) acini di pepe pasta. Cook for another 8–10 minutes, or until the pasta is al dente. Stir occasionally to prevent sticking. The soup should start to look thick and hearty.
Note: If you like your soup brothier, use just 1/2 cup (80g) pasta. It will soak up liquid as it sits! - Stir in the Spinach: Add 5 oz (140g) of roughly chopped fresh spinach. Stir until wilted, about 1–2 minutes. Taste and adjust salt and pepper as needed.
- Serve: Ladle into bowls, garnish with extra parmesan and fresh parsley, and add a squeeze of lemon if you like a bright finish.
Efficiency tip: While the soup base cooks, prep your meatballs and veggies ahead of time for a real time-saver. If you want to freeze this, cook the meatballs separately and add pasta fresh when reheating so it doesn’t get mushy. The soup should smell herby and rich, the meatballs tender, and the spinach vibrant. That’s how you know you’ve nailed it.
Cooking Tips & Techniques
- Meatball Texture: Don’t overmix the meatball mixture. Gently combine until just blended—overworking makes them tough. I learned this the hard way after a few bouncy meatball mishaps.
- Even Meatballs: Use a small scoop or teaspoon to keep the size consistent. This ensures they all cook at the same rate and makes the soup look extra inviting.
- Simmer, Don’t Boil: After adding the meatballs, keep the broth at a gentle simmer. A rolling boil can break them apart (I’ve lost a few to the “soup abyss” before).
- Pasta Timing: Add pasta after the meatballs are mostly cooked. If you add it too soon, it can get overcooked and mushy. If you’re making the soup ahead for meal prep, cook the pasta separately and add it to each bowl before serving.
- Season in Layers: Taste the broth after each addition (especially after adding meatballs and spinach). Adjust salt and pepper gradually. Sometimes the parmesan brings enough salty punch!
- Multitasking: Prep all your veggies and meatballs before you turn on the stove. Trust me—it’s much less stressful than chopping while stirring.
- Color and Freshness: Add the spinach at the end, just until it wilts. This keeps it bright green and tender. Overcooked spinach loses its pop and can taste bitter.
Don’t worry if the soup thickens as it sits. Just add a splash of broth or water when reheating to bring it back to your favorite consistency. After making this countless times, these little tricks really do make all the difference. And remember: soup always tastes even better the next day!
Variations & Adaptations
- Gluten-Free: Swap regular breadcrumbs with gluten-free breadcrumbs and use a small gluten-free pasta like rice-shaped orzo. I’ve done this for my sister and nobody could tell the difference!
- Low-Carb/Keto: Skip the pasta and add more chopped veggies (like zucchini or cauliflower rice). The soup stays hearty and filling but fits your carb goals.
- Vegetarian: Use plant-based ground “meat” (like Beyond Beef), a flax egg, and veggie broth. You can even use mini cheese tortellini instead of meatballs for a fun twist.
- Seasonal Swaps: In winter, try escarole or kale instead of spinach. In summer, add a handful of fresh herbs (basil, parsley, or dill) for an herby punch.
- Flavor Boosts: Add a pinch of red pepper flakes for heat, or stir in a spoonful of pesto before serving for a savory, garlicky finish.
- Alternative Cooking Methods: This soup works great in a slow cooker—just shape and brown the meatballs, then add everything (except spinach and pasta) to your crockpot on low for 4–5 hours. Add spinach and cooked pasta at the end.
One of my favorite spins is to use tiny turkey meatballs with lemon zest and fresh dill for a springy version. Honestly, Italian Wedding Soup is endlessly adaptable—make it your own and enjoy every bowlful.
Serving & Storage Suggestions
For the best experience, serve your Italian Wedding Soup piping hot, straight from the pot. I like to ladle it into wide bowls so the meatballs and pasta are on full display (it’s a Pinterest-worthy moment every time!). Sprinkle with extra parmesan, a little chopped parsley, and a squeeze of lemon for brightness. A slice of crusty Italian bread or garlic toast is the perfect side—my kids love dunking.
This soup pairs beautifully with a simple green salad and a glass of crisp white wine (if that’s your thing). For a bigger gathering, serve with antipasto or roasted veggies.
To store leftovers, let the soup cool completely, then transfer to airtight containers. It keeps in the fridge for up to 4 days. The pasta will soak up broth, so add a splash of water or chicken stock when reheating. For freezer storage, I recommend freezing the meatballs and soup base separately from the pasta. That way, nothing gets mushy. Just thaw, reheat, and add fresh-cooked pasta and spinach for best results. Reheat gently on the stovetop or in the microwave—stir well to heat evenly.
Honestly, the flavors deepen over a day or two, making leftovers even cozier. It’s one of those recipes that’s as good on day three as it is fresh!
Nutritional Information & Benefits
This Italian Wedding Soup with tender meatballs and spinach is a well-rounded meal. Each hearty serving (about 2 cups/480ml) provides approximately:
- Calories: 350
- Protein: 22g
- Carbohydrates: 25g
- Fat: 16g
- Fiber: 3g
- Sodium: 780mg (varies with broth and cheese choices)
Key ingredients like spinach pack in vitamins A and C, iron, and antioxidants, while lean meats offer satisfying protein. If you use whole-wheat pasta, you’ll add a bit more fiber. This soup can be tweaked for gluten-free or dairy-free diets by swapping pasta and cheese. Allergens to note: contains wheat, dairy, and egg in the traditional recipe. I love knowing I’m serving a bowlful of comfort that’s also nourishing and balanced (not just a “carb bomb” like some other cozy soups!).
Conclusion
So, why should you try this Italian Wedding Soup recipe? It’s simple, hearty, and brings together all the best parts of homemade comfort food—tender meatballs, bright spinach, and a savory, slurpable broth. You can customize it a hundred ways to fit your family’s tastes, dietary needs, or whatever’s in your pantry. This recipe holds a special place in my heart (and my kitchen), and I hope it becomes a staple for you, too.
Honestly, I never get tired of the way this soup brings everyone to the table—smiling, hungry, and ready for seconds. If you give it a try, I’d love to hear your thoughts, swaps, or stories. Drop a comment below, share your photos, or tag me on Pinterest. Cozy dinners are meant to be shared—so let’s spread the comfort, one bowl at a time!
FAQs About Italian Wedding Soup
Can I make Italian Wedding Soup ahead of time?
Absolutely! Prepare the soup up to the point of adding pasta and spinach. Store in the fridge for up to 3 days, then reheat and add pasta and spinach just before serving for the freshest taste.
What’s the best pasta to use if I can’t find acini di pepe?
Orzo, ditalini, or even small macaroni work well as substitutes. Just use the same quantity and cook until al dente.
How do I keep the meatballs from falling apart?
Mix the meatball ingredients just until combined. Don’t overwork the mixture, and be gentle when adding them to simmering (not boiling) broth.
Can I freeze Italian Wedding Soup?
Yes! Freeze the soup without pasta or spinach. When ready to serve, thaw, reheat, and add cooked pasta and spinach for best texture.
Is there a dairy-free version of this soup?
Definitely. Use a dairy-free parmesan alternative and your favorite unsweetened plant-based milk in the meatballs. The soup is just as delicious and comforting!
Pin This Recipe!

Italian Wedding Soup Recipe Easy Homemade with Tender Meatballs & Spinach
This cozy Italian Wedding Soup features tender homemade meatballs, acini di pepe pasta, and fresh spinach in a savory chicken broth. It’s a comforting, crowd-pleasing soup perfect for family dinners or chilly days.
- Prep Time: 20 minutes
- Cook Time: 30 minutes
- Total Time: 50 minutes
- Yield: 6 servings 1x
- Category: Soup
- Cuisine: Italian
Ingredients
- 8 oz ground beef (about 1/2 lb)
- 8 oz ground pork (about 1/2 lb)
- 1/2 cup fresh breadcrumbs
- 1/3 cup finely grated parmesan cheese
- 3 tbsp milk
- 1 large egg
- 2 cloves garlic, minced
- 1 tsp Italian seasoning
- 1/2 tsp kosher salt
- 1/4 tsp black pepper
- 2 tbsp olive oil
- 1 medium yellow onion, diced
- 2 medium carrots, peeled and diced
- 2 celery stalks, diced
- 8 cups chicken broth (low-sodium preferred)
- 3/4 cup acini di pepe pasta (or orzo/ditalini)
- 5 oz fresh spinach, roughly chopped
- Salt and pepper, to taste
- Extra parmesan cheese, for serving (optional)
- Fresh parsley, chopped, for garnish (optional)
- Lemon wedges, for serving (optional)
Instructions
- In a large mixing bowl, combine ground beef, ground pork, breadcrumbs, parmesan, milk, egg, garlic, Italian seasoning, salt, and pepper. Mix gently until just combined.
- Scoop out small amounts (about 1 teaspoon each) and roll into mini meatballs (about 40-44 total). Set aside on a baking sheet or plate.
- Heat olive oil in a large soup pot over medium heat. Add diced onion, carrots, and celery. Sauté for 5–7 minutes until softened and fragrant.
- Pour in chicken broth and bring to a gentle boil, then reduce to a simmer.
- Carefully drop meatballs into the simmering broth, one at a time. Cook for 8–10 minutes, until meatballs are cooked through and floating.
- Stir in acini di pepe pasta and cook for another 8–10 minutes, or until pasta is al dente. Stir occasionally.
- Add chopped spinach and stir until wilted, about 1–2 minutes. Taste and adjust salt and pepper as needed.
- Ladle soup into bowls. Garnish with extra parmesan, fresh parsley, and a squeeze of lemon if desired.
Notes
For gluten-free, use gluten-free breadcrumbs and pasta. For dairy-free, substitute nutritional yeast and plant-based milk. Add spinach at the end for best color and flavor. Soup thickens as it sits; add broth or water when reheating. Meatballs can be made ahead and frozen. For meal prep, cook pasta separately and add before serving.
Nutrition
- Serving Size: About 2 cups (480ml)
- Calories: 350
- Sugar: 4
- Sodium: 780
- Fat: 16
- Saturated Fat: 6
- Carbohydrates: 25
- Fiber: 3
- Protein: 22
Keywords: Italian Wedding Soup, meatballs, spinach, acini di pepe, comfort food, easy soup, family dinner, homemade soup, traditional Italian, cozy recipes


