Bring a large pot of salted water to a boil. Once boiling, cook the spaghetti noodles according to package instructions until al dente. Drain and set aside.
While the pasta is cooking, heat olive oil in a large skillet or saucepan over medium heat. Add the chopped onion and garlic and sauté for 3-4 minutes until softened and fragrant.
Add the ground beef to the pan and cook until browned, breaking it up with a spoon as it cooks. Drain any excess fat.
Stir in the crushed tomatoes, tomato paste, beef broth, basil, oregano, salt, pepper, and sugar (if using). Bring to a simmer, then reduce the heat to low. Let the sauce cook for 15-20 minutes, stirring occasionally, until it thickens and the flavors meld together.
Taste and adjust seasoning if needed.
To serve, plate the cooked spaghetti and spoon the meat sauce generously over the top. Top with grated Parmesan cheese and fresh basil or parsley, if desired.
Enjoy your delicious homemade spaghetti and meat sauce!