Mix ground beef, breadcrumbs, egg, garlic, onion, Parmesan cheese, Italian seasoning, salt, and pepper.
Shape the mixture into small meatballs.
Heat olive oil in a pan and brown the meatballs on all sides. Remove and set aside.
In the same pan, sauté onion and garlic. Add crushed tomatoes, tomato paste, Italian seasoning, salt, and pepper.
Return the meatballs to the sauce, cover, and simmer for 20–25 minutes until fully cooked.
Meanwhile, cook spaghetti in salted boiling water according to package instructions. Drain well.
Serve spaghetti topped with tomato sauce and meatballs. Garnish with grated Parmesan and fresh parsley or basil.