Heat the olive oil in a large skillet or Dutch oven over medium-high heat.
Add the ground beef and cook until browned, breaking it apart as it cooks.
Drain excess grease if necessary.
Add the onion and cook for 4 to 5 minutes until softened.
Stir in the garlic and cook for 30 seconds until fragrant.
Add the crushed tomatoes, tomato paste, Italian seasoning, oregano, salt, pepper, and sugar.
Stir well and bring the sauce to a gentle simmer.
Reduce the heat to low and cook for 25 to 30 minutes, stirring occasionally.
Meanwhile, bring a large pot of salted water to a boil.
Cook the spaghetti according to package directions until al dente.
Reserve 1/2 cup pasta water, then drain the spaghetti.
Add a splash of reserved pasta water to the sauce if needed.
Toss the spaghetti with the sauce or serve the sauce over the pasta.
Garnish with fresh basil and grated Parmesan before serving.