Heat olive oil in a large nonstick skillet over medium-high. Add beef, sweet onion, garlic, 1 teaspoon of the salt, and pepper; cook, stirring occasionally and breaking up beef, until browned, about 5 minutes. Drain beef mixture; return to skillet. Stir in crushed and diced tomatoes, tomato sauce, broth, sugar, Italian seasoning, red pepper, and remaining ½ teaspoon salt.
Bring sauce to a simmer over medium-high; reduce heat to medium. Cook, stirring occasionally, until thickened, 20 to 30 minutes. Serve with hot cooked pasta. Top with Parmesan and basil, if desired.
