Heat a large saucepan or Dutch oven over medium heat. Add the ground beef and cook for 5–7 minutes, breaking it apart with a spoon until browned. Drain excess fat if needed and set aside.
In the same pot, add olive oil and cook the onion for 4–5 minutes until softened. Stir in garlic and cook for another 30 seconds until fragrant.
Add crushed tomatoes, tomato sauce, tomato paste, oregano, basil, red pepper flakes, sugar (if using), salt, and pepper. Stir well to combine.
Return the browned beef to the pot and bring the sauce to a gentle simmer. Reduce heat and cook uncovered for about 20 minutes, stirring occasionally, until thick and flavorful.
While the sauce simmers, cook spaghetti according to package instructions. Drain.
Spoon the beef sauce over spaghetti and finish with fresh herbs and grated Parmesan.
Tip: This sauce gets even better the next day—make a double batch and refrigerate or freeze for an easy future meal.