Preheat your oven to 375°F (190°C).
In a large pot, cook the pasta according to package instructions until al dente. Drain and set aside.
In a large skillet, heat olive oil over medium heat. Add diced onion and cook until translucent, about 3-4 minutes. Stir in minced garlic and cook for an additional 1 minute.
Add ground beef to the skillet, breaking it apart with a spoon. Cook until browned and no longer pink, about 5-7 minutes. Drain excess fat if necessary.
Stir in tomato sauce, diced tomatoes, Italian seasoning, salt, and black pepper. Let the mixture simmer for about 5 minutes.
In a large mixing bowl, combine the cooked pasta with the beef mixture. Stir until well combined.
Transfer the pasta and beef mixture to a greased 9x13 inch baking dish. Top with shredded mozzarella and grated Parmesan cheese.
Bake in the preheated oven for 20-25 minutes, or until the cheese is melted and bubbly.
Remove from the oven and let it cool for a few minutes. Garnish with fresh basil leaves if desired before serving.