In a large skillet over medium heat, sauté the onion in the olive oil until golden brown. Add the tomatoes, basil, salt and pepper. Cook on low heat, uncovered until reduced – about 1 hour.
For the meatballs:
In a large bowl, mix together the salt, pepper, Parmigiano, parsley, and garlic. Add the beaten eggs and mix. Dip the bread in milk or water, squeeze out most of the liquid and mix it into the egg mixture. When the ingredients are thoroughly combined, add the meat and use your hands to combine. If the mixture seems dry, add a tablespoon or two of water. Take a handful of the meat mixture, shape into a medium sized ball – about 2 ounces, maximum, and repeat until you have used all of the meat mixture. In a large skillet, over medium-low heat, add 1/4 cup of olive oil. When the oil is hot, place the meatballs in the skillet, with enough room to allow you to easily flip them over. Cook the meatballs, in batches, until brown on all sides – careful not to burn them. Remove them from the skillet and add to the tomato sauce, and cook together, over low heat, for about an hour.
Bring a large pot of salted water to a boil.
Cook the pasta until al dente (about 2 minutes less than the package directions). Drain and place in a serving bowl. Mix in some sauce.
Serve with two meatballs per person and grated Parmigiano.