Ingredients
Meatballs
- ½ cup fresh breadcrumbs (Italian breadcrumbs or roughly torn stale bread)
- ½ cup Pecorino Parmesan cheese, grated
- 1 teaspoon fresh parsley, finely minced
- ¼ small onion
- 1 clove garlic
- ½ teaspoon salt (plus more to taste)
- ½ cup whole milk (or half and half, or water)
- 1 large egg
- 1 pound ground beef
Soup
- 3 tablespoons olive oil
- 1 cup celery, diced (about 3 stalks)
- 1 cup carrots, diced (about 2 medium)
- 1½ cups yellow onion, diced (about 1 medium)
- 10 cups chicken stock (or broth)
- 2 bay leaves
- 1 whole head escarole, cleaned and roughly chopped
- ¾ cup acini di pepe pasta (or other small pasta like Pastina, tubetti, ditalini, or orzo)
- Pecorino Parmesan cheese, for serving
- Crusty bread (optional, for serving)
Instructions
- Make The Meatballs: In a large bowl, combine the breadcrumbs, grated Pecorino Parmesan, and minced parsley. Use a microplane or fine grater to finely grate in the garlic and ¼ small onion.
- Mix Meatball Batter: Add the milk and egg to the breadcrumb mixture and stir with a fork until completely combined.
- Add Ground Beef: Incorporate the ground beef into the breadcrumb mixture, mixing gently with a fork or your hands until evenly combined. Avoid overmixing to keep meatballs tender.
- Form Meatballs: Wet your hands to prevent sticking and shape the meat mixture into very small meatballs, approximately 2 teaspoons each, rolling them gently to form spheres. Set aside.
- Sauté Vegetables: Heat olive oil in a large Dutch oven or heavy soup pot over medium heat. Add diced carrots, celery, and onions, and cook, stirring occasionally, until softened, about 8 minutes.
- Add Stock and Bay Leaves: Pour in the chicken stock and add the bay leaves. Increase heat to bring the soup to a rolling boil.
- Cook Meatballs: Carefully add the meatballs to the boiling soup. Reduce heat to medium-low and simmer for 5 minutes to cook the meatballs through.
- Add Escarole: Stir the chopped escarole into the soup until wilted. Cover the pot and cook for an additional 5 to 10 minutes, allowing flavors to meld.
- Prepare Pasta: While the soup simmers, bring another pot of salted water to a boil. Cook the acini di pepe pasta according to package instructions until al dente, usually about 6 to 8 minutes. Drain the pasta and toss lightly with a bit of olive oil to keep from sticking.
- Season Soup: Taste the soup broth and adjust seasoning with additional salt and freshly ground black pepper as desired.
- Assemble and Serve: Spoon a small amount of cooked pasta into each bowl. Ladle the hot soup with meatballs and vegetables over the pasta.
- Garnish and Enjoy: Serve the soup with extra grated Pecorino Parmesan cheese and crusty bread alongside for dipping.
Notes
- Use fresh breadcrumbs or stale bread for the best meatball texture.
- Do not overmix the meatball mixture to keep the meatballs tender and not dense.
- You can substitute ground beef with a mixture of beef and pork for richer flavor.
- If escarole is unavailable, substitute with other hearty greens like kale or spinach.
- The tiny pasta shapes like acini di pepe or pastina are traditional and hold soup well.
- This soup reheats well and flavors develop further after a day.
- Prep Time: 25 minutes
- Cook Time: 35 minutes
- Category: Soup
- Method: Stovetop
- Cuisine: Italian-American