Make the Meatballs: In a bowl, combine ground beef, breadcrumbs, Parmesan, egg, garlic, oregano, salt, and pepper. Mix until just combined and form into balls (~1½ inches).
Cook the Meatballs: Heat 2 tbsp olive oil in a skillet. Brown meatballs on all sides over medium heat (about 5–7 minutes). Remove and set aside.
Make the Sauce: In the same pan, add 1 tbsp olive oil, sauté onions until soft, then add garlic. Pour in crushed tomatoes, basil, salt, pepper, and sugar. Stir and bring to a simmer.
Simmer Together: Add meatballs to sauce. Cover and simmer for 25–30 minutes until meatballs are cooked through.
Boil Pasta: While the sauce simmers, cook spaghetti in salted water according to package instructions. Drain and set aside.
Serve: Plate spaghetti, top with meatballs and sauce. Garnish with Parmesan and fresh parsley if desired.