Meatballs
- ½ cup fresh breadcrumbs Italian breadcrumbs or the equivalent in roughly torn stale bread
- ½ cup Pecorino Romano or Parmesan cheese, freshly grated, plus more for serving
- 1 teaspoon fresh parsley finely minced
- ¼ onion small
- 1 clove garlic
- ½ teaspoon salt plus more to taste
- ½ cup whole milk or half and half or water, plus more as needed
- 1 large egg
- 1 pound ground beef or pork, chicken, turkey or a mix of 50% beef, 25% pork, 25% veal
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 variety such as Pastina, tubetti, ditalini or orzo
- Pecorino Romano or parmesan, grated, for serving,
- Crusty bread optional for serving
Make The Meatballs
In a large bowl, combine the breadcrumbs, grated cheese and parsley. Use a microplane grater to finely grate in the garlic and onion.
Add the milk and eggs, then mix with a fork until totally combined.
Add the meat and mix with a fork or your hands until the breadcrumb mixture is evenly distributed and the mixture is homogeneous. Be careful not to overmix or it will cause the meatballs to become tough.
Wet your hands form the meat into very small meatballs, about 2 teaspoons each in size, rolling them between your palms to make a sphere. Set aside.
Put The Soup Together
Heat olive oil in a large Dutch oven or soup pot over medium heat. Cook the carrots, celery and onion until soft, about 8 minutes.
Add the chicken stock and bay leaves and bring up to a rolling boil.
Add the meatballs to the soup carefully, then reduce the meat to medium-low and simmer for 5 minutes.
Stir in the escarole until wilted, then cover and cook for an additional 5-10 minutes.
While the soup is cooking, place another pot of water on the stove and bring up to a boil. Cook the pasta via package directions until al dente, then drain and mix with a little bit of olive oil to prevent it from sticking together.
Taste the soup for seasoning and add more salt and pepper if needed.
Place a little bit of pasta in each bowl then ladle the soup over top.
Serve with extra grated cheese and crusty bread for passing.
- Remember to take the meat out of the refrigerator 15 minutes before making the meatballs. It'll make it easier to mix!
- Don't over-mix the meat, or it'll end up tough. To prevent that, make sure all the ingredients are mixed well together before adding the meat.
- I like to rub my hands with either a bit of water or oil when forming the meatballs.
- If you prefer a richer broth, you can use beef or veal stock instead of chicken stock.
- To prevent the meatballs from falling apart, make sure to cook them at a gentle simmer rather than a rolling boil.
- For an extra boost of flavor, you can add some parmesan rind into the broth while it simmers.
- The pasta gets cooked separately and served on the side to prevent it from swelling up and getting soggy while absorbing all of the broth. Trust me, it's worth the extra step!
- Feel free to substitute different veggies in this soup. Some great options are spinach, kale, or even zucchini.
Calories: 606kcal | Carbohydrates: 47g | Protein: 33g | Fat: 32g | Saturated Fat: 10g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 15g | Trans Fat: 1g | Cholesterol: 104mg | Sodium: 1047mg | Potassium: 1105mg | Fiber: 5g | Sugar: 12g | Vitamin A: 5388IU | Vitamin C: 11mg | Calcium: 224mg | Iron: 5mg