If you’ve ever wished for a cozy bowl that feels like a warm hug, you’re going to adore this Easy Homemade Italian Wedding Soup Recipe. It’s packed with tender meatballs, fresh spinach, and tiny pasta pearls—all simmered in a savory broth that’s incredibly satisfying without being complicated.
Jump to:
Why You'll Love This Recipe
This soup has been a staple in my kitchen for years. It’s the kind of recipe that feels special enough for guests but straightforward enough for a weeknight. The balance of flavors, textures, and heartiness makes it a true crowd-pleaser.
- Comfort in a Bowl: Every spoonful delivers cozy, hearty flavors that warm you from the inside out.
- Simple Ingredients: You probably already have everything you need—no fancy or hard-to-find items required.
- Customizable: Whether you swap the beef for turkey or add a handful of greens, it’s easy to make it your own.
- Quick but Tasty: You’ll have this on the table in under an hour, perfect for busy days without sacrificing deliciousness.
Ingredients & Why They Work
Each ingredient plays a key role here, from the fresh herbs that brighten the meatballs to the tiny pasta that adds just the right bite. Plus, using fresh bread crumbs really makes those meatballs tender and flavorful. Let me break down the essentials for you:
- Lean ground beef: Adds rich meaty flavor without being too greasy.
- Ground pork: Provides fat and tenderness, which keeps the meatballs juicy.
- Fresh white bread crumbs: Use crumbs from fresh bread, not dried, for lighter, more tender meatballs.
- Fresh parsley & oregano: These herbs bring a bright, fresh flavor that lifts the whole dish.
- Parmesan cheese: Gives a subtle salty, nutty depth inside the meatballs and as a topping.
- Egg: Binds the meatballs together to keep them from falling apart.
- Olive oil: For sautéing veggies and adding a lovely richness.
- Carrots, onions & celery: The classic soffritto trio, these build the flavorful base for the broth.
- Garlic: Adds warmth and aroma that make the soup irresistible.
- Low sodium chicken broth: Keeps the soup light while letting all the ingredients shine.
- Acini di pepe pasta: The traditional tiny pasta pearls, perfect for soaking up the broth and slipping between the meatballs.
- Baby spinach: Adds a fresh, slightly earthy bite and beautiful color.
Make It Your Way
I love tweaking this soup depending on what’s in the fridge or my mood. Sometimes I add a pinch of red pepper flakes for a little kick, and other times I swap out the beef for turkey to keep it lighter. You should definitely make it your own—it lends itself well to experimentation!
- Variation: Once, I swapped acini di pepe for orzo pasta when I ran out, and the soup still turned out fantastic—same cozy vibes, just a different texture.
- Dietary tweaks: Use ground turkey or chicken for a leaner meatball, or gluten-free bread crumbs and pasta to make it gluten-free.
- Seasonal spin: Swap spinach for kale or Swiss chard in colder months—it holds up well and adds another layer of flavor.
Step-by-Step: How I Make Easy Homemade Italian Wedding Soup Recipe
Step 1: Mix and Shape the Meatballs
Start by combining the ground beef, ground pork, fresh bread crumbs, chopped parsley, oregano, shredded parmesan, egg, salt, and black pepper in a large bowl. I like to use my hands here—it helps me get everything evenly mixed without overworking the meat. Then, roll the mixture into tiny bite-sized meatballs, about 1-inch diameter. The small size helps them cook quickly and evenly. If the mixture feels sticky, wet your hands slightly—it makes forming meatballs much easier.
Step 2: Brown the Meatballs
Heat one tablespoon of olive oil in a large pot over medium heat. Add the meatballs in batches so they aren’t overcrowded, and cook for about 5 minutes, turning carefully until all sides are browned. Don’t worry if they aren’t cooked through — they’ll finish cooking in the soup. Browning adds fantastic flavor and texture, so don’t skip this step! Once browned, transfer the meatballs to a plate and set aside.
Step 3: Build the Soup Base
In the same pot, add the remaining tablespoon of olive oil and toss in the chopped carrots, onion, celery, and garlic. Sauté these until they’re softened and fragrant—about 6-8 minutes. This soffritto layer creates the soul of your soup, so be patient here. Scrape the browned bits stuck on the bottom with your spoon to capture all that flavor.
Step 4: Combine and Simmer
Pour in the chicken broth and bring everything to a gentle boil. Add the browned meatballs back into the pot and pour in the acini di pepe pasta. Let the soup simmer for 10-12 minutes, or until the pasta is tender and the meatballs are cooked through. Stir occasionally to prevent the pasta from sticking and keep an eye on the liquid level—you want enough broth to keep it soupy, but adjust if needed by adding a splash of water or broth.
Step 5: Finish with Spinach and Serve
Once the pasta and meatballs are cooked, stir in the chopped baby spinach and cook for another minute or two until wilted. The spinach adds freshness and a beautiful pop of color. Ladle the soup into bowls and top with an extra sprinkle of finely shredded parmesan. I love grabbing a crusty loaf of bread to dunk—it’s pure comfort.
Top Tip
Through the years of making this Easy Homemade Italian Wedding Soup Recipe, I’ve learned a few tips that really help make every batch a winner—soon enough you’ll find your own tricks too!
- Perfect Meatball Size: Keeping meatballs small ensures they cook quickly and stay tender inside.
- Fresh Bread Crumbs: Using fresh, not dried, bread crumbs makes the meatballs lighter, so don’t skip this step.
- Sauté Veggies Slowly: Taking time to soften the soffritto brings out deep flavor you can really taste in the broth.
- Don’t Overcrowd the Pan: Browning meatballs in batches prevents steaming and helps build that great crust.
How to Serve Easy Homemade Italian Wedding Soup Recipe
Garnishes
I love topping my bowls with freshly grated parmesan and a sprinkle of extra chopped parsley for brightness. A squeeze of lemon juice adds a surprising brightness if you want to balance the richness. Sometimes I even add crushed red pepper flakes for a subtle kick—perfect if you like a little heat.
Side Dishes
Crusty Italian bread or garlic bread makes a fantastic accompaniment. Sometimes I serve it alongside a simple green salad with a balsamic vinaigrette to keep the meal light and fresh. If you want something extra, a small antipasto plate pairs beautifully to round things out.
Creative Ways to Present
For a special dinner, I like serving the soup in mini soup bowls or even hollowed-out mini bread bowls—kids love the fun presentation. Setting the table with rustic linens and a big Parmesan wheel nearby for self-serving adds that cozy Italian trattoria feel that guests appreciate.
Make Ahead and Storage
Storing Leftovers
I store leftover soup in airtight containers in the fridge, and it usually keeps well for up to 3 days. The flavors actually deepen overnight, so leftovers are often even better than the first serving.
Freezing
This soup freezes beautifully. I recommend freezing without the pasta if you plan to keep it for longer than a week—add fresh pasta when reheating to keep it from getting mushy. Be sure to cool completely before freezing for best texture and flavor.
Reheating
Heat leftovers gently on the stove over medium-low heat. If frozen pasta was removed, add fresh uncooked pasta about 10 minutes before the soup finishes reheating. Stir frequently to prevent sticking, and add a splash of broth or water if it gets too thick.
Frequently Asked Questions:
Absolutely! You can prepare the meatballs a day in advance and keep them covered in the fridge until you're ready to brown and add them to the soup. This helps speed up the cooking process and deepens the flavors.
No worries! Orzo pasta is a great substitute that works perfectly in this soup. Just keep cooking times similar, but watch the pasta to avoid overcooking.
Freezing with pasta included can sometimes make the pasta mushy upon reheating. For best results, freeze the soup and meatballs without the pasta and add fresh pasta when reheating.
Yes, you can substitute dried herbs for fresh. Use about half the amount recommended for fresh herbs since dried herbs are more concentrated—so ¾ teaspoon dried oregano instead of 1 ½ teaspoons fresh, for example.
Final Thoughts
This Easy Homemade Italian Wedding Soup Recipe has been a heartwarming favorite in my kitchen for years, from casual family dinners to festive gatherings. It’s simple, flexible, and deeply satisfying—a true crowd-pleaser. I hope you give it a try and discover how comforting a bowl of perfectly seasoned meatballs, fresh greens, and broth can really be. You’ll love making it your own and sharing it with friends and family as much as I do!
Print
Delicious Recipe
- Prep Time: 25 minutes
- Cook Time: 25 minutes
- Total Time: 50 minutes
- Yield: 6 servings 1x
- Category: Soup
- Method: Stovetop
- Cuisine: Italian
- Diet: Low Salt
Description
This classic Italian Wedding Soup features tender homemade mini meatballs made from lean ground beef and pork, fresh vegetables, and delicate acini di pepe pasta, all simmered in a savory low-sodium chicken broth. Finished with fresh spinach and shredded parmesan, this soup delivers a cozy, authentic flavor perfect for a comforting meal.
Ingredients
Meatballs
- 8 oz. lean ground beef
- 8 oz. ground pork
- ½ cup fresh white bread crumbs (from fresh bread, not dried)
- ¼ cup chopped fresh parsley
- 1 ½ tsp minced fresh oregano (or ¾ tsp dried)
- ½ cup finely shredded parmesan
- 1 large egg
- Salt and freshly ground black pepper, to taste
Soup Base and Vegetables
- 1 Tbsp olive oil
- 1 ¼ cups chopped carrots
- 1 ¼ cups chopped yellow onion
- ¾ cup chopped celery
- 4 cloves garlic, minced (1 ½ Tbsp)
- 5 (14.5 oz) cans low-sodium chicken broth
- 1 cup dry acini di pepe pasta (or orzo pasta)
- 6 oz fresh baby spinach, roughly chopped
- Finely shredded parmesan, for serving
Instructions
- Prepare the meatball mixture: In a large mixing bowl, combine the lean ground beef, ground pork, fresh white bread crumbs, chopped parsley, minced oregano, shredded parmesan, egg, salt, and freshly ground black pepper. Mix gently until all ingredients are just combined, being careful not to overmix.
- Form and brown the meatballs: Using your hands or a small scoop, form the mixture into small bite-sized meatballs, about 1 inch in diameter. Heat 1 tablespoon of olive oil in a large pot or Dutch oven over medium heat. Add the meatballs in batches, browning them evenly on all sides without crowding the pan. Remove the browned meatballs and set aside.
- Sauté the vegetables: In the same pot, add the remaining 1 tablespoon of olive oil. Add the chopped carrots, onion, celery, and minced garlic. Cook over medium heat, stirring occasionally, for about 5-7 minutes until the vegetables are softened and fragrant.
- Add broth and simmer: Pour in the low-sodium chicken broth and bring the mixture to a boil. Once boiling, carefully add the browned meatballs back into the pot. Reduce heat to a simmer and cook uncovered for 10 minutes to allow the flavors to meld.
- Cook the pasta and add spinach: Add the dry acini di pepe pasta to the simmering soup. Stir and cook for about 8 to 10 minutes, or until the pasta is tender but still slightly firm. In the final 2 minutes of cooking, stir in the roughly chopped fresh baby spinach, allowing it to wilt gently into the soup.
- Serve: Ladle the soup into bowls and garnish each serving with finely shredded parmesan cheese. Adjust seasoning with salt and pepper if needed, and enjoy warm.
Notes
- Use fresh white bread crumbs made from crustless bread for tender meatballs.
- If acini di pepe pasta is not available, orzo can be used as a substitute.
- For a lower fat option, use all lean ground turkey or chicken instead of beef and pork.
- Leftover soup can be stored in the refrigerator for up to 3 days or frozen for up to 2 months.
- To save time, meatballs can be formed and refrigerated ahead of cooking.
Nutrition
- Serving Size: 1 serving
- Calories: 396 kcal
- Sugar: 4 g
- Sodium: 362 mg
- Fat: 20 g
- Saturated Fat: 6 g
- Unsaturated Fat: 13 g
- Trans Fat: 0 g
- Carbohydrates: 25 g
- Fiber: 3 g
- Protein: 29 g
- Cholesterol: 85 mg
Leave a Reply