First prepare the meatballs mixture. Soak the bread crumbs in the milk for few minutes.
Add all the meatballs ingredients to the soaked bread crumbs except the ground beef. Mix them very well with a fork.
Add the ground beef at the end and mix just to combine. Try not to overwork the beef.
Cover the meatballs mixture with plastic wrap and refrigerate.
Now, prepare the tomato sauce by putting the tomatoes in a boiled water. Let boil for few minutes, then gently peel them off.
Put olive oil in a saucepan over medium heat.
Add onion, garlic, salt, pepper, oregano, dried basil, pepper flakes (optional), sugar and tomato paste.
Cook for about 5 minutes, then add the peeled tomatoes.
Use a potato masher in the same saucepan to mash the tomatoes.
Let cook for a good 10 minutes on medium temperature then add water and bring to boil.
Let simmer for about 30 minutes, then add the fresh basil.
While the tomato sauce is simmering, form your meatballs and place them in a slightly oiled baking sheet.
Bake in a 350°F preheated oven for about 30 minutes.
At this time cook the spaghetti according to package directions.
Drain and add 1 tablespoon butter. Mix the butter well.
Place the meatballs in the tomato sauce and let simmer for about 10 minutes.
Serve the spaghetti with the tomato sauce and meatballs.
Add Parmesan cheese on top.
Enjoy.