Preheat oven: Preheat your oven to 375°F (190°C).
Cook the pasta: In a large pot, bring salted water to a boil. Add the pasta and cook according to the package instructions until al dente. Drain and set aside.
Prepare the meat sauce: In a large skillet, heat the olive oil over medium heat. Add the chopped onion and garlic, sautéing for about 2 minutes until fragrant and soft. Add the ground beef or sausage, breaking it up with a wooden spoon. Cook until browned and fully cooked through, about 5-7 minutes.
Add the tomato ingredients: Stir in the crushed tomatoes, tomato paste, oregano, basil, Italian seasoning, and red pepper flakes. Season with salt and pepper. Let the sauce simmer for 10-15 minutes, allowing the flavours to meld together.
Combine pasta and sauce: In a large mixing bowl, combine the cooked pasta with the meat sauce. Add in the ricotta cheese (if using) and half of the shredded mozzarella and Parmesan cheese. Stir until everything is well combined.
Assemble the bake: Transfer the pasta mixture into a large, greased baking dish (9x13-inch or similar size). Spread it out evenly.
Top with cheese: Sprinkle the remaining shredded mozzarella and grated Parmesan cheese on top. If you like, you can also add a light sprinkling of Italian breadcrumbs for some extra crunch.
Bake the pasta bake: Place the dish in the preheated oven and bake for 20-25 minutes, or until the cheese is melted, bubbly, and golden brown.
Garnish and serve: Remove the pasta bake from the oven and let it cool for a few minutes before serving. Garnish with fresh basil if desired.
Enjoy! Serve hot with a side salad and garlic bread for a complete Italian meal.