1 Cook the pasta: In a soup pot, bring a generous amount of water to a boil. Add a pinch of salt and the pasta.
Let the water return to a boil, lower the heat, and let the pasta bubble steadily for 6 minutes, or until it is almost tender and still has a slight crunch in the middle. Drain the pasta and transfer to a bowl; set aside.
2 Soak the bread pieces: While the pasta water is coming to a boil and the pasta is cooking, mix the bread pieces with the milk or water in a large bowl.
Use your fingers to work the milk into the bread, like a sponge. Set aside for 10 minutes. Again, using your fingers, work the mixture until it forms a paste. Stir in the egg until incorporated.
3 Make the meatball mixture: To the bowl with the bread and egg mixture, add the remaining meatball ingredients. With a spoon or your hands, work the mixture until it is well blended.
4 Shape the meatballs: Set a bowl of cold water on the counter. Dip your hands into the water and use a spoon to scoop out tablespoon-size pieces of the mixture.
Shape into rounds with your hands and transfer to a plate. Continue until all the mixture is used; you should have about 28 to 30 meatballs.
5 Cook the meatballs: Add the stock to the soup pot used to cook the pasta and bring to a boil. Use a long metal spoon to add the meatballs to the soup, several at a time.
Return the liquid to a boil, lower the heat, and cover the pan. Simmer for 5 minutes.
6 Finish the soup: Add the greens to the stock pot, pressing with a soup ladle to submerge them. Add the pasta. Return to a boil, lower the heat, and cover the pan.
Cook for 3 minutes, or until the greens and pasta are tender and the meatballs are cooked through.
Taste the broth for seasoning and add more salt and pepper, if you like. Ladle into bowls and serve with Parmesan.