Bring a large pot of salted water to a boil. Add the pasta and cook according to the package instructions until al dente. Drain and set aside.
In a skillet, heat the olive oil over medium heat. Add the diced onion and cook until soft and translucent, about 3-4 minutes.
Add the minced garlic to the skillet and sauté for an additional 1 minute until fragrant.
Increase the heat to medium-high and add the ground beef. Cook until browned, breaking it apart with a wooden spoon, about 5-7 minutes. Drain excess fat if necessary.
Stir in the crushed tomatoes, tomato paste, basil, oregano, salt, black pepper, and beef broth. Bring to a simmer, then reduce the heat to low and cook for 15 minutes, allowing the flavors to meld.
Add the cooked pasta to the skillet and toss to coat with the sauce. Cook for an additional 2-3 minutes to heat through.
Serve hot, topped with grated Parmesan cheese if desired.