In a large skillet, cook beef and onion over medium heat until no longer pink. Add garlic; cook 1 minute longer. Drain, or I like to pat a paper towel on top to absorb any grease.
Stir in spaghetti sauce, diced tomatoes, olives, Italian seasoning, and salt. Bring to a boil; reduce heat and simmer, uncovered, for 20 minutes.
Preheat oven to 350°. Cook pasta according to package directions; drain, but do not rinse the pasta.
Add pasta to beef mixture and gently stir in sliced plum tomatoes. Add in 1 cup of mozzarella cheese; mix together.
Prepare a 13x9-in. baking dish with cooking spray. Transfer the pasta mixture to the baking dish. Sprinkle with remaining mozzarella cheese and Parmesan cheese. With a spoon, gently mix in the cheese, but not all the way, leaving some on top. Bake 25-30 minutes or until bubbly and heated through, uncovered.
Sprinkle with finely chopped fresh basil and serve.