In a large skillet, heat olive oil over medium-high heat. Add onions and garlic; sauté until onion becomes translucent, about 3 minutes.
Add ground beef, cook and stir until beef is browned and cooked through, about 5-7 minutes.
Stir in crushed tomatoes, tomato paste, dried oregano, dried basil, salt, pepper, and sugar. Bring to a boil, then reduce heat to low and simmer for 10 minutes.
Meanwhile, cook the spaghetti according to package instructions. Drain and set aside.
Serve sauce over cooked spaghetti. Sprinkle with Parmesan cheese and garnish with fresh basil.
Notes
This sauce is perfect for batch cooking and freezing for later use.