Ingredients
Meatballs
- ¼ cup dried breadcrumbs
- ¼ cup milk
- 1 pound ground beef
- ¼ cup grated Parmesan cheese
- 1 large beaten egg
- 1 teaspoon grated or finely chopped garlic
- ½ teaspoon granulated onion powder (optional)
- 2 tablespoons chopped fresh parsley
- Kosher salt and freshly ground black pepper, to taste
Soup
- 2 tablespoons extra virgin olive oil
- ½ cup chopped onion
- ½ cup chopped carrot
- ½ cup chopped celery
- 1 teaspoon finely chopped garlic
- 8 cups chicken broth
- 1 teaspoon kosher salt
- 1 cup dried soup pasta (such as orzo, acini de pepe or pastina)
- 5 ounces baby spinach (or other greens like escarole, chopped Swiss chard or kale)
- Freshly grated Parmesan cheese, for serving
Instructions
- Prepare the breadcrumb paste: In a small bowl, stir together ¼ cup dried breadcrumbs and ¼ cup milk until it forms a paste.
- Make the meatball mixture: In a large bowl, combine 1 pound ground beef, ¼ cup grated Parmesan cheese, 1 large beaten egg, 1 teaspoon grated or finely chopped garlic, ½ teaspoon granulated onion powder (if using), 2 tablespoons chopped fresh parsley, and the breadcrumb paste. Season with ¾ teaspoon kosher salt and several grinds of black pepper. Mix thoroughly using a fork or hands until evenly combined.
- Form and parboil the meatballs: Shape the mixture into 1-inch meatballs and arrange on a lightly oiled tray. Bring a small pot of lightly salted water to a boil and cook meatballs in batches for 3 minutes. Remove and drain on a clean tray. This par-cooking can be done up to 2 days ahead if refrigerated.
- Sauté vegetables: In a large pot or Dutch oven, heat 2 tablespoons extra virgin olive oil over medium-high heat. Add ½ cup chopped onion, ½ cup chopped carrot, ½ cup chopped celery, and 1 teaspoon finely chopped garlic. Cook, stirring frequently, until vegetables soften, about 5-7 minutes.
- Add broth and simmer: Pour in 8 cups chicken broth and season with 1 teaspoon kosher salt. Bring to a simmer and cook for 15-20 minutes to develop flavors.
- Cook the pasta: Meanwhile, boil 1 cup dried soup pasta in lightly salted water for 5 minutes or half the time indicated on the package, then drain.
- Combine and finish cooking: Add the par-cooked meatballs and the pasta to the simmering soup. Cook gently for 5 minutes, making sure the soup does not boil. Stir in 5 ounces baby spinach and cook on low just until wilted.
- Serve: Ladle the soup into bowls and garnish with freshly grated Parmesan cheese. Serve hot.
Notes
- Par-cooked meatballs can be refrigerated for up to 2 days before finishing the soup.
- Use orzo or similarly small pasta shapes that cook quickly and blend well into the soup.
- Substitute baby spinach with escarole, chopped Swiss chard, or kale for variation.
- Do not allow the soup to boil once meatballs and pasta are added to avoid toughening the meatballs.
- For a richer flavor, use homemade chicken broth if available.
- Prep Time: 20 minutes
- Cook Time: 40 minutes
- Category: Soup
- Method: Stovetop
- Cuisine: Italian