In a large bowl, gently combine all meatball ingredients until just mixed. Do not overwork. Roll into small meatballs about ¾ inch in size.
1 pound lean ground meat, 1 large egg, ½ cup Italian breadcrumbs, ¼ cup Parmesan cheese, 3 garlic cloves, ⅓ cup fresh parsley, Salt and black pepper
Heat the olive oil in a large soup pot over medium-high heat. Brown the meatballs in batches for about 2 minutes, turning occasionally. Remove and set aside. The meatballs will finish cooking in the soup.
1 tablespoon olive oil
In the same pot, add the onion, carrots, and celery. Cook over medium heat for about 6 minutes, stirring occasionally, until softened. Add a small splash of olive oil if needed.
1 cup yellow onion, 1 ¼ cups carrots, 2 celery ribs
Stir in the garlic and Italian seasoning and cook for 1 minute, until fragrant.
2 teaspoons Italian seasoning, 3 garlic cloves
Pour in the chicken broth and bring to a boil. Reduce heat and simmer.
8 cups chicken broth
Return the meatballs to the pot. Add the pasta and simmer until the pasta is al dente.
¾ cup short pasta
During the last 2 minutes of cooking, stir in the spinach and let it wilt.
4 to 5 cups fresh spinach
Taste and adjust seasoning with salt and black pepper.
Salt and black pepper
Ladle into bowls and garnish with freshly grated Parmesan cheese before serving.
Freshly grated Parmesan cheese