Ingredients
Method
Preparation
- Finely chop the onion, carrots, and celery. Mince garlic and chop parsley. Grate cheese.
- Combine the meatball ingredients in a bowl: ground meat, breadcrumbs, egg, 1/3 cup Parmigiano-Reggiano, parsley, oregano, salt, pepper, and garlic. Mix gently until just combined.
Forming Meatballs
- Using a teaspoon or small cookie scoop, form meatballs about 3/4 inch in diameter.
- Place them on a tray lined with parchment. You should get roughly 30 to 40 small meatballs. Tip: Wet your hands lightly to prevent sticking.
Cooking Meatballs (Optional)
- Heat 1 tablespoon olive oil in a large pot over medium-high heat. Add meatballs in batches and sear for 1 minute per side, then remove and set aside.
- For a lighter version, skip browning and cook meatballs directly in the broth.
Building the Broth
- In the same pot, add a splash of broth if needed and reduce heat to medium. Add chopped onion, carrots, and celery.
- Cook, stirring, until onion is translucent and vegetables are slightly softened, about 5 to 7 minutes.
- Add minced garlic and cook for 30 seconds until fragrant.
Simmering the Soup
- Pour in 8 cups chicken broth and add the bay leaf, salt, and pepper. Bring to a gentle boil.
- Add pasta and simmer according to package directions for al dente (usually 6 to 8 minutes for small pastas).
- Add meatballs to the simmering broth and continue cooking until meatballs are cooked through and pasta is tender, about 6 to 8 minutes more.
Finishing Touches
- Stir in baby spinach until wilted, about 1 to 2 minutes. Remove bay leaf.
- Finish with 2 tablespoons lemon juice if using, and adjust salt and pepper to taste.
Serving
- Ladle into bowls and sprinkle with additional Parmigiano-Reggiano and chopped parsley. Serve hot.
Notes
Use freshly grated Parmigiano-Reggiano for best flavor; pre-grated can be used in a pinch. Refrigerate leftovers in an airtight container up to 3 days. Reheat gently on the stove.
