Classic Italian Wedding Soup is a cozy bowl filled with tender meatballs, mini pasta shapes, and bright green spinach swimming in a flavorful chicken broth. It’s a simple, comforting soup that brings together rich tastes and fresh textures in every spoonful.
I love making this soup when the weather starts to cool down. The little meatballs are fun to make and always disappear fast, and the spinach adds just the right amount of color and freshness. I find it’s the kind of recipe that makes you feel cared for, like a warm hug from the inside.
My favorite way to enjoy it is with crusty bread on the side for dipping. It’s great for a quick weeknight dinner or whenever you want something light but filling. Watching everyone’s smiles as they dig into this classic is one of my favorite kitchen moments.
Bake, Serve, Wear the Vibe 👕
Editor-picked tees our Oven To Fork readers love.
We may earn from qualifying purchases at no extra cost to you.
Key Ingredients & Substitutions
Ground Meat: I prefer a mix of beef and pork for juicy meatballs. If you want a lighter option, try ground turkey or chicken. Just keep an eye on cooking time as they can dry out faster.
Breadcrumbs: Fine dry breadcrumbs help hold the meatballs together. If you don’t have them, crushed crackers or oats work well too.
Parmesan Cheese: This adds great flavor and a bit of saltiness. You can swap with Pecorino Romano if you like a sharper taste.
Chicken Broth: Using low sodium broth lets you control the saltiness. Vegetable broth works for a vegetarian twist—it’s not traditional but still tasty.
Small Pasta: Acini di pepe or orzo are classic here. You can substitute with tiny pastas like ditalini or small elbow macaroni.
Greens: Kale and escarole bring color and nutrition. Spinach or Swiss chard can be great alternatives and wilt quickly.
How Do You Make Tender, Flavourful Meatballs?
Meatballs are the heart of this soup. To keep them tender:
- Use a gentle hand mixing the ingredients — just combine until mixed, don’t overwork the meat.
- Soak breadcrumbs in a bit of broth or water before adding to keep moisture.
- Shape them small, about 1 inch, so they cook quickly and evenly.
- Sear meatballs in a pan first for browning and flavor, or gently simmer in broth for a lighter version.
Cooking in broth adds flavor while keeping them juicy. Just don’t rush this step—it makes all the difference in texture and taste.

Equipment You’ll Need
- Large stockpot – perfect for cooking the broth, vegetables, meatballs, and pasta all in one pot.
- Mixing bowl – makes combining meatball ingredients simple and mess-free.
- Spoon or small ice cream scoop – helps you shape evenly sized meatballs quickly.
- Wooden spoon – ideal for stirring the soup without scratching your pot.
- Chef’s knife and cutting board – for chopping veggies and greens with ease.
Flavor Variations & Add-Ins
- Try turkey or chicken meatballs for a lighter soup that’s just as tasty.
- Add cooked white beans like cannellini for extra protein and creaminess.
- Use spinach instead of kale if you prefer a softer green and quicker cooking.
- Stir in a pinch of red pepper flakes for a gentle spicy kick.
Classic Italian Wedding Soup
Ingredients You’ll Need:
For The Meatballs:
- 1/2 cup fine dry breadcrumbs
- 1/4 cup grated Parmesan cheese, plus extra for serving
- 2 tablespoons chopped fresh parsley
- 1 garlic clove, minced
- 1 large egg
- 1/2 teaspoon salt
- 1/4 teaspoon freshly ground black pepper
- 1 pound ground beef (or a mix of beef and pork)
For The Soup:
- 1 teaspoon olive oil
- 1 medium onion, finely chopped
- 2 medium carrots, diced
- 2 celery stalks, diced
- 8 cups chicken broth (preferably low sodium)
- 1 cup small pasta such as acini di pepe or orzo
- 4 cups chopped fresh kale or escarole leaves
- Salt and pepper to taste
- Toasted bread slices, for serving (optional)
How Much Time Will You Need?
This soup takes about 15 minutes to prepare the ingredients and meatballs, plus around 20-25 minutes to cook everything in one pot. In total, you’re looking at roughly 40 minutes from start to finish.
Step-by-Step Instructions:
1. Make the Meatballs:
In a mixing bowl, gently combine the breadcrumbs, Parmesan cheese, parsley, minced garlic, egg, salt, pepper, and ground meat. Mix just until everything comes together. Form the mixture into small 1-inch meatballs and place them on a plate.
2. Cook the Vegetables:
Heat olive oil in a large pot over medium heat. Add the chopped onion, carrots, and celery. Cook, stirring occasionally, until the vegetables are soft and fragrant, about 5 minutes.
3. Add Broth and Meatballs:
Pour the chicken broth into the pot and bring it to a gentle boil. Carefully add the meatballs to the broth. Lower the heat to a simmer and cook for about 10 minutes, or until the meatballs are fully cooked through.
4. Cook Pasta and Greens:
Stir in the small pasta and cook according to the package instructions until al dente, usually 5-7 minutes. Add the chopped kale or escarole and simmer for another 2-3 minutes until the greens have wilted.
5. Final Touch & Serve:
Check the seasoning and add salt and pepper as needed. Ladle the hot soup into bowls, sprinkle extra Parmesan on top, and serve with toasted bread slices if you like.
Can I Use Frozen Meatballs Instead of Making Fresh Ones?
Yes, you can use frozen meatballs for convenience. Just add them directly to the boiling broth and simmer until heated through, which might take a few minutes longer than fresh ones.
Can I Substitute the Greens?
Absolutely! Spinach, Swiss chard, or even baby kale work well as alternatives to kale or escarole. Add them towards the end to avoid overcooking.
How Should I Store Leftovers?
Store leftover soup in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stove to keep the meatballs tender and the pasta from getting mushy.
Can I Make This Soup Ahead of Time?
Yes! Prepare the meatballs and soup base separately, then combine and heat just before serving to keep everything fresh and tasty.



