Cook spaghetti according to package instructions.
In a large bowl, combine ground beef, breadcrumbs, Parmesan cheese, garlic, egg, parsley, milk, salt, and pepper.
Mix well and form into meatballs.
In a large skillet, heat olive oil over medium heat.
Add meatballs and cook until browned on all sides. Remove meatballs from skillet and set aside.
In the same skillet, add onion and cook until softened.
Add crushed tomatoes, basil, and oregano.
Simmer for 20 minutes.
Return meatballs to skillet and simmer for an additional 10 minutes.
Serve meatballs and sauce over cooked spaghetti.