Begin by making the sauce: In a Dutch oven, heat the oil and, on low heat, cook the onion until it's soft. Add the garlic and cook another minute.
Add the rest of the ingredients and simmer for thirty minutes.
Meanwhile, mix up the meatball mixture: In a small skillet, heat the oil, on low heat, and cook the onion until it's soft. Add the garlic and cook for a minute. Put the onions and garlic into a large bowl, along with all the other ingredients (except for the spaghetti!). Mix well. Then, make 12 round, equal sized meatballs out of the mixture.
Add the meatballs to the sauce, without stirring them. Cover loosely, and simmer for thirty minutes or until the meatballs are cooked through.
Meanwhile, boil the spaghetti in well salted water. Serve the meatballs on top of the spaghetti, along with additional Parmesan and basil.