Italian Wedding Soup

0 comments Some of the links throughout this website are commission-able affiliate links. Read more in our Disclaimer.

Italian Wedding Soup brings together tender homemade meatballs, fresh vegetables, and delicate pasta in a light but flavorful broth. Despite the name, it isn’t traditionally served at weddings — “wedding” here refers to the harmonious marriage of ingredients, particularly the way the slight acidity of the chicken broth balances the richness of the meatballs, while spinach adds both freshness and color. The result is a soup that manages to feel both filling and light at the same time.

This version builds everything from scratch: homemade meatballs made from a mix of beef and pork, a proper vegetable-based soup foundation, and pasta and greens added directly into the simmering broth. That from-scratch approach is really what elevates the dish — each component is straightforward on its own, but together they create something considerably more than the sum of its parts.

Prep and Setup

For the Meatballs:

  • 8 oz lean ground beef
  • 8 oz ground pork
  • ½ cup fresh white breadcrumbs
  • ¼ cup fresh parsley, chopped
  • 1½ tsp fresh oregano, minced
  • ½ cup finely grated Parmesan cheese
  • 1 large egg
  • Salt and black pepper, to taste
  • 1 tbsp olive oil, for frying

For the Soup:

  • 1 tbsp olive oil
  • 1¼ cups carrots, diced into ¼-inch pieces
  • 1¼ cups yellow onion, diced
  • ¾ cup celery, diced
  • 4 cloves garlic, minced (about 1½ tbsp)
  • 5 (14.5 oz) cans low-sodium chicken broth
  • 1 cup dry acini de pepe or orzo pasta
  • 6 oz fresh spinach, chopped
  • Freshly grated Parmesan cheese, for serving

Equipment: a large mixing bowl for the meatballs, a large non-stick skillet for browning, a large pot for the soup, and a plate lined with paper towels for draining the browned meatballs.

Workflow: How the Steps Actually Flow

1. Prepare the meatballs. In a large mixing bowl, combine the ground beef and ground pork, then add the breadcrumbs, parsley, oregano, Parmesan, egg, salt, and pepper. Mix gently, just until evenly incorporated — overworking the mixture at this stage is what leads to tough, dense meatballs rather than tender ones. Using your hands, form the mixture into small meatballs, about ¾ to 1 inch in diameter, then transfer them to a plate.

2. Brown the meatballs. Heat a tablespoon of olive oil in a large non-stick skillet over medium-high heat, then add half the meatballs at a time, avoiding overcrowding the pan. Cook, turning occasionally, until browned on all sides — about 4 minutes. Transfer to a paper-towel-lined plate to drain, then repeat with the remaining meatballs. It’s worth noting the meatballs won’t be fully cooked through at this stage; browning here is about building flavor and structure, since they’ll finish cooking as the soup simmers later.

3. Prepare the soup base. While the meatballs brown, heat another tablespoon of olive oil in a large pot over medium-high heat. Add the diced carrots, onions, and celery, cooking for 6 to 8 minutes, stirring occasionally, until they begin to soften. Add the minced garlic and sauté for one more minute, being careful not to let it burn, since burnt garlic turns bitter quickly.

4. Build and simmer the soup. Pour the chicken broth into the pot with the softened vegetables, stir to combine, and season with salt and pepper. Bring to a boil over medium-high heat. Once boiling, add the pasta and the browned meatballs, then reduce the heat to a simmer, cover, and cook for about 10 minutes, stirring occasionally to keep the pasta from sticking to the bottom of the pot. This simmering stage is what finishes cooking the meatballs through while the pasta softens in the broth.

5. Add the spinach at the very end. Stir in the chopped spinach during the last minute of cooking — it wilts quickly, adding a fresh burst of green and nutrition without needing much time in the pot.

6. Serve. Once the pasta is tender and the meatballs are fully cooked through, ladle the soup into bowls and sprinkle each serving with freshly grated Parmesan. Serve warm with a slice of crusty bread on the side for dipping.

Component Organization: What Each Ingredient Is Doing

  • The meatballs: ground beef and pork form the base, with breadcrumbs and egg binding the mixture and keeping it tender, while parsley, oregano, and Parmesan build savory herbal flavor throughout.
  • The vegetable base: carrots, onion, and celery, sautéed until softened to form the aromatic foundation of the broth, with garlic added briefly at the end for sharpness without bitterness.
  • The broth: chicken broth, which carries the flavor of the vegetables and meatballs while staying light rather than heavy.
  • The starch: acini de pepe or orzo pasta, cooked directly in the simmering broth so it absorbs flavor as it softens.
  • The greens: fresh spinach, added at the very last minute specifically to preserve its color and freshness rather than letting it overcook into the broth.
  • Finishing richness: freshly grated Parmesan, added at serving time rather than during cooking, for a sharp, salty finish on top of each bowl.

Why Browning the Meatballs First (Without Fully Cooking Them) Matters

Browning the meatballs in a skillet before they ever touch the broth builds a layer of flavor through the Maillard reaction — the browning that happens on the meat’s surface — that wouldn’t develop if the meatballs were simply simmered raw in the broth from the start. At the same time, they’re intentionally left slightly undercooked at this stage, since they’ll finish cooking through during the 10-minute simmer with the pasta. This two-stage approach gives you both a flavorful crust and fully cooked, tender meatballs by the time the soup is done.

Tips & Notes

  • Breadcrumbs: use a hearty white bread, like a French loaf or Italian bread — toast a slice, then pulse it in a food processor to create fine crumbs.
  • Pasta: acini de pepe is the traditional choice for this soup; orzo works well as a substitute if you can’t find it.
  • Broth: for a more brothy soup, reduce the pasta to ¾ cup. Keep in mind the pasta will continue absorbing broth as the soup sits, so you may need to add more broth when reheating leftovers.
  • Vegetables: while spinach is the most common green used, escarole or kale can be substituted for a slightly different flavor profile.

Serving Suggestions

Italian Wedding Soup works well on its own or with a slice of crusty bread, ideally toasted with a little olive oil and garlic. For a more complete meal, pair it with a light salad or a simple antipasto platter featuring olives, cheese, and cured meats.

Step-by-Step Assembly Strategy

  1. Combine ground beef, ground pork, breadcrumbs, parsley, oregano, Parmesan, egg, salt, and pepper; mix gently and shape into small meatballs.
  2. Brown the meatballs in batches in olive oil, about 4 minutes, then drain on paper towels (they won’t be fully cooked yet).
  3. Sauté carrots, onions, and celery in olive oil for 6–8 minutes, then add garlic and cook 1 more minute.
  4. Add chicken broth, season with salt and pepper, and bring to a boil.
  5. Add pasta and browned meatballs, reduce to a simmer, cover, and cook about 10 minutes, stirring occasionally.
  6. Stir in chopped spinach during the last minute of cooking.
  7. Ladle into bowls, top with Parmesan, and serve with crusty bread.

Italian Wedding Soup

Description: A heartwarming combination of tender homemade meatballs, fresh vegetables, and delicate pasta in a flavorful broth. This hearty, healthy, and flavorful dish can be prepared in less than an hour, making it perfect for a special occasion or a comforting weeknight family meal.

Duration:

  • Prep Time: 30 minutes
  • Cook Time: 30 minutes
  • Ready In: 1 hour
  • Servings: 6

Ingredients:

For the Meatballs:

  • 8 oz lean ground beef
  • 8 oz ground pork
  • ½ cup fresh white breadcrumbs
  • ¼ cup fresh parsley, chopped
  • 1½ tsp fresh oregano, minced
  • ½ cup finely grated Parmesan cheese
  • 1 large egg
  • Salt and black pepper, to taste
  • 1 tbsp olive oil, for frying

For the Soup:

  • 1 tbsp olive oil
  • 1¼ cups carrots, diced into ¼-inch pieces
  • 1¼ cups yellow onion, diced
  • ¾ cup celery, diced
  • 4 cloves garlic, minced (about 1½ tbsp)
  • 5 (14.5 oz) cans low-sodium chicken broth
  • 1 cup dry acini de pepe or orzo pasta
  • 6 oz fresh spinach, chopped
  • Freshly grated Parmesan cheese, for serving

Instructions:

  1. Prepare the Meatballs: In a large mixing bowl, combine the ground beef and ground pork. Add the breadcrumbs, parsley, oregano, Parmesan, egg, salt, and pepper. Gently mix until evenly incorporated, being careful not to overwork the mixture. Form into small meatballs, about ¾ to 1 inch in diameter, and transfer to a plate.
  2. Brown the Meatballs: Heat a tablespoon of olive oil in a large non-stick skillet over medium-high heat. Add half the meatballs, avoiding overcrowding, and cook, turning occasionally, until browned on all sides, about 4 minutes. Transfer to a paper-towel-lined plate to drain. Repeat with the remaining meatballs. (The meatballs will not be fully cooked through at this stage.)
  3. Prepare the Soup Base: While the meatballs brown, heat another tablespoon of olive oil in a large pot over medium-high heat. Add the diced carrots, onions, and celery, and cook for 6 to 8 minutes, stirring occasionally, until they begin to soften. Add the minced garlic and sauté 1 more minute, being careful not to burn it.
  4. Make the Soup: Pour the chicken broth into the pot, stir to combine, and season with salt and pepper. Bring to a boil over medium-high heat. Add the pasta and browned meatballs, reduce heat to a simmer, cover, and cook about 10 minutes, stirring occasionally. During the last minute, stir in the chopped spinach.
  5. Serve the Soup: Once the pasta is tender and the meatballs are fully cooked through, ladle into bowls and sprinkle with freshly grated Parmesan. Serve warm with a slice of crusty bread on the side.

Notes:

  • Breadcrumbs: use a hearty white bread, like a French loaf or Italian bread — toast and pulse in a food processor for fine crumbs.
  • Pasta: acini de pepe is traditional; orzo works well as a substitute.
  • Broth: for a more brothy soup, reduce the pasta to ¾ cup; note that pasta absorbs broth as the soup sits, so add more broth when reheating.
  • Vegetables: escarole or kale can be substituted for spinach for a different flavor profile.

Nutrition Information (per serving): Calories: 396kcal | Fat: 20g | Saturated Fat: 6g | Cholesterol: 85mg | Sodium: 362mg | Potassium: 911mg | Carbohydrates: 25g | Fiber: 3g | Sugar: 4g | Protein: 29g | Calcium: 190mg | Iron: 4mg

Medical Disclaimer: This recipe and the accompanying content are provided for general informational and culinary purposes only and are not intended as medical, nutritional, or dietary advice. Nutritional needs vary from person to person, and individuals with food allergies, intolerances, medical conditions, or specific dietary requirements should consult a qualified healthcare professional or registered dietitian before preparing or consuming this recipe. Cooking times and temperatures may vary depending on individual equipment; always ensure food is cooked to a safe internal temperature before serving. The creator of this content assumes no liability for any adverse reactions, allergic responses, or health outcomes resulting from the preparation or consumption of this recipe.

Leave a Comment

Your email address will not be published. Required fields are marked *

*