Ingredients
– 8 oz. lean ground beef for meatballs
– 8 oz. ground pork for meatballs
– 1/2 cup fresh white bread crumbs for tenderizing
– 1/4 cup chopped fresh parsley for freshness
– 1 1/2 teaspoons minced fresh oregano for flavor
– 1/2 cup finely shredded Parmesan cheese for binding
– 1 large egg for binding
– 1 teaspoon salt for seasoning
– 1/4 teaspoon black pepper for warmth
– 1 tablespoon olive oil for sautéing
– 1 1/4 cups chopped carrots for sweetness
– 1 1/4 cups chopped onions for flavor
– 3/4 cup chopped celery for depth
– 4 cloves garlic for flavor
– 5 cans low-sodium chicken broth for soup base
– 1 cup dry acini di pepe pasta
– 6 oz fresh spinach for color and vitamins
– Finely shredded Parmesan cheese for serving
Instructions
1-First Step: Mise en place and mixing the meatball ingredients Gather all meatball ingredients so you can work quickly: 8 oz. lean ground beef, 8 oz. ground pork, 1/2 cup fresh white bread crumbs, 1/4 cup chopped fresh parsley, 1 1/2 teaspoons minced fresh oregano (or 3/4 teaspoon dried), 1/2 cup finely shredded Parmesan, 1 large egg, 1 teaspoon salt, and 1/4 teaspoon black pepper. Finely shred the Parmesan and chop the parsley and oregano. In a large bowl, combine the beef, pork, breadcrumbs, parsley, oregano, Parmesan, egg, salt, and pepper. Use clean hands to mix gently until ingredients are evenly distributed. Chillting the mixture for about 15-30 minutes is optional but can make rolling easier.
2-Second Step: Shape and brown the meatballs Shape the mixture into small meatballs about 3/4 to 1 inch in diameter. Tip: a teaspoon scoop makes uniform meatballs quickly; you should get roughly 40-50 small meatballs. In a large non-stick skillet, heat 1 tablespoon olive oil over medium-high heat. Brown half the meatballs, turning occasionally so they color on 2 or 3 sides. This takes about 4 minutes per batch. Transfer browned meatballs to a paper towel-lined plate and repeat with remaining meatballs. They will finish cooking in the simmering soup.
3-Third Step: Build the soup base While you brown meatballs, start the soup in a large pot. Heat 1 tablespoon olive oil over medium-high heat. Add 1 1/4 cups chopped carrots, 1 1/4 cups chopped onions, and 3/4 cup chopped celery. Sauté until softened, about 6 to 8 minutes. Add 4 cloves garlic, minced (about 1 1/2 tablespoons), and sauté for 1 more minute until fragrant but not browned. Pour in 5 cans (14.5 oz each) low-sodium chicken broth, about 8.75 cups in total. Bring to a boil and season lightly with salt and pepper to taste. Keep the heat at a steady simmer rather than a hard boil.
4-Fourth Step: Add pasta and meatballs, then simmer Stir in 1 cup dry acini di pepe pasta and the browned meatballs. Reduce heat to medium-low, cover the pot, and simmer for about 10 minutes. Stir occasionally to prevent pasta from sticking to the bottom and to make sure meatballs cook through. Pasta is done when tender but still slightly firm to the bite.
5-Final Step: Add greens and serve When the pasta is nearly cooked, add 6 oz roughly chopped fresh spinach during the last minute of cooking. The spinach will wilt quickly and remain bright. Ladle the soup into bowls and finish each serving with a generous sprinkle of finely shredded Parmesan cheese.
Notes
🍲 Brown meatballs before simmering to add flavor and improve texture – this step is crucial for authentic Italian wedding soup
🥖 Use fresh bread crumbs from rustic bread and fresh herbs for better flavor – avoid dried breadcrumbs for the best texture
🧄 Simmering a Parmesan rind in the soup can boost flavor – just remove it before serving
- Prep Time: 25 minutes
- Cook Time: 25 minutes
- Category: Soup
- Method: Simmering
- Cuisine: Italian
- Diet: Non-vegetarian
Nutrition
- Serving Size: 1 serving
- Calories: 396
- Sugar: 4g
- Sodium: 362mg
- Fat: 20g
- Saturated Fat: 6g
- Unsaturated Fat: 14g
- Trans Fat: 0g
- Carbohydrates: 25g
- Fiber: 3g
- Protein: 29g
- Cholesterol: 85mg
