Make the Meatballs:
In a large bowl, combine the ground beef, breadcrumbs, Parmesan, egg, garlic, parsley, salt, pepper, and Italian seasoning (if using). Mix until just combined (don’t overmix).
Roll the mixture into 1- to 1.5-inch meatballs.
Cook the Meatballs:
Heat olive oil in a large skillet over medium heat. Fry the meatballs in batches until browned on all sides (about 2-3 minutes per side). Remove the meatballs from the skillet and set aside.
Make the Sauce:
In the same skillet, add the olive oil and sauté the onions for 4-5 minutes until softened. Add the garlic and cook for another minute.
Stir in the crushed tomatoes, oregano, and sugar (if using). Season with salt and pepper to taste. Simmer for 10 minutes to let the flavors meld.
Add the Meatballs to the Sauce:
Return the browned meatballs to the skillet, cover, and simmer the sauce and meatballs together for 20-25 minutes, or until the meatballs are cooked through and the sauce thickens.
Cook the Spaghetti:
While the sauce is simmering, bring a large pot of salted water to a boil. Cook the spaghetti according to the package instructions until al dente. Drain and set aside.
Serve:
Toss the spaghetti with the sauce or serve the meatballs and sauce on top of the pasta. Garnish with fresh basil or parsley and additional Parmesan cheese if desired.