In a medium bowl, combine the ground meat, breadcrumbs, egg, Parmesan, parsley, garlic, salt, and pepper. Mix gently with your hands or a spatula until just combined—don’t overmix, or the meatballs may turn out tough.
Using a teaspoon or small cookie scoop, form the mixture into tiny meatballs, about ¾-inch in size. Place them on a plate or baking sheet. You should get around 30–35 mini meatballs.
For extra flavor, heat a drizzle of olive oil in a skillet and brown the meatballs for a few minutes before adding them to the soup. This step is optional but adds depth to the broth.
In a large pot, heat the olive oil over medium heat. Add the diced onion, carrots, and celery, and sauté for 5–7 minutes until softened. Add the garlic and cook for another 1 minute until fragrant.
Pour in the chicken broth and bring it to a boil. Gently drop in the meatballs and reduce heat to a simmer. Let the soup cook for 15 minutes, or until the meatballs are cooked through and the vegetables are tender.
Stir in the pasta and cook for another 8–10 minutes until al dente. Finally, add the chopped spinach and simmer for another 1–2 minutes until wilted. Taste and adjust seasoning with salt and pepper. Serve hot with a sprinkle of Parmesan.