For the Meatballs: Combine all the ingredients in a medium bowl, except olive oil and season with salt and pepper to taste. Heat the oil in large saute pan over medium-high heat. Roll the mixture into 1 1/2-inch balls and fry until golden brown, but not cooked through completely. (remove with a slotted spoon to a plate lined with paper towels.) For the Tomato Sauce: Heat olive oil in a medium saucepan. Add onions and garlic and cook until soft. Add pureed tomatoes and juice, bay leaf and parsley, pepper flakes and salt and pepper and bring to a boil. Reduce heat, add meatballs and let simmer for 30-40 minutes, until the sauce has thickened. Remove the bay leaf and parsley, add the basil and serve.
For the Spaghetti: Bring salted water to a boil. Add spaghetti and cook until al dente. Drain well in a colander, toss in sauce, serve with meatballs and Parmesan cheese.
For the Garlic Bread: Combine butter and garlic. Spread evenly on bread and broil until browned.