Ingredients
For the Tender Meatballs:
-
Ground Meat: 1 lb total. For the most tender and flavorful result, use a combination of ½ lb 80/20 ground beef and ½ lb ground pork. You can use all beef if you prefer.
-
Plain Breadcrumbs: ½ cup.
-
Grated Parmesan Cheese: ½ cup, freshly grated for the best flavor and melt.
-
Large Egg: 1, lightly beaten. This acts as the binder.
-
Fresh Parsley: ¼ cup, finely chopped.
-
Garlic: 2 cloves, minced or grated.
-
Salt: ½ teaspoon.
-
Black Pepper: ¼ teaspoon.
For the Soup:
-
Olive Oil: 2 tablespoons, for browning the meatballs.
-
Yellow Onion: 1 medium, chopped.
-
Garlic: 4 cloves, thinly sliced.
-
Low-Sodium Chicken Broth: 8 cups (64 oz). Using low-sodium is crucial as the meatballs and Parmesan add significant saltiness.
-
Escarole: 1 large head, cored, washed thoroughly, and roughly chopped into 1-2 inch pieces.
-
Canned Cannellini Beans: 1 (15 oz) can, rinsed and drained.
-
Red Pepper Flakes: ¼ teaspoon (optional), for a gentle warmth.
-
Parmesan Cheese Rind: 1 piece (optional, but highly recommended for incredible flavor).
-
Salt and Black Pepper: To taste.
-
For Serving: Extra grated Parmesan cheese and a drizzle of good quality olive oil.
Instructions
Part 1: Make and Brown the Meatballs
This first step is essential for creating both tender meatballs and a flavorful foundation for the soup broth.
-
Combine Meatball Ingredients: In a large bowl, add the ground beef, ground pork, breadcrumbs, grated Parmesan cheese, beaten egg, chopped parsley, minced garlic, salt, and pepper.
-
Mix Gently: Using your hands, gently mix the ingredients together until they are just combined. Do not overmix! Overworking the meat will result in tough, dense meatballs.
-
Form the Meatballs: Roll the mixture into small, bite-sized meatballs, about 1-inch in diameter. You should get approximately 25-30 meatballs. Place them on a plate or baking sheet.
-
Brown the Meatballs: Heat the 2 tablespoons of olive oil in a large, heavy-bottomed pot or Dutch oven over medium-high heat. Carefully place the meatballs in the pot in a single layer, working in batches if necessary to avoid overcrowding. Brown the meatballs for about 4-5 minutes, turning them occasionally, until they are nicely browned on most sides. They do not need to be cooked through at this stage.
-
Set Aside: Using a slotted spoon, remove the browned meatballs from the pot and set them aside on a clean plate. Do not wipe out the pot; the browned bits and rendered fat are packed with flavor.
Part 2: Build and Simmer the Soup
Now you will use the flavorful remnants in the pot to build your soup base.
-
Sauté the Aromatics: Reduce the heat to medium. Add the chopped onion to the pot and cook, stirring occasionally, for about 5 minutes, until the onion has softened and becomes translucent. Use your spoon to scrape up some of the browned bits from the bottom of the pot as the onions release their moisture.
-
Add Garlic and Spices: Add the sliced garlic and the optional red pepper flakes to the pot. Cook for another minute, stirring constantly, until the garlic is fragrant. Be careful not to let it burn.
-
Create the Broth: Pour in the 8 cups of low-sodium chicken broth. Bring the liquid to a simmer, continuing to scrape the bottom of the pot to release any remaining flavorful bits.
-
Simmer the Meatballs: Gently return the browned meatballs to the simmering broth. If you are using it, add the Parmesan rind. Reduce the heat to low, cover the pot, and let the soup simmer gently for 15-20 minutes. This will cook the meatballs through and allow their flavor to infuse the broth.
Part 3: Finish the Soup
-
Add Greens and Beans: Add the chopped escarole and the rinsed cannellini beans to the pot. Stir gently. The pot may seem very full, but the escarole will wilt down considerably.
-
Wilt the Escarole: Let the soup continue to simmer for another 5-10 minutes, or until the escarole is tender and has wilted to your liking.
-
Final Seasoning: Remove the pot from the heat and discard the Parmesan rind. Taste the soup and season with salt and pepper as needed. Remember that the broth, meatballs, and cheese have already added a lot of salt, so you may not need much.
-
Serve: Ladle the hot soup into bowls. Garnish with a generous sprinkle of extra grated Parmesan cheese and a finishing drizzle of good quality olive oil.
Nutrition
- Serving Size: one normal portion
- Calories: 400-500 kcal