Preheat the oven to 350°C. First of all, bring a large pot of water to a boil (for pasta) and heat olive oil in a large saute pan (deep skillet), add onions and saute for two min, then add sausage and cook, stirring occasionally and breaking up sausage, until cooked through, adding in garlic for the last 1 minute, drain excess fat.
In addition, add crushed tomatoes, diced tomatoes, tomato paste, basil, 2 tbsp of parsley, and season to taste with salt and pepper.
Bring the mixture to a light boil, then reduce the heat to low and enable 15 minutes to simmer, then remove it from the heat.
Stir together the ricotta, egg, 2 tbsp of parsley, and season with salt and pepper in a mixing bowl using a fork.
Mix and set aside 1 1/2 cup of mozzarella and 1/2 cup of parmesan.
While the sauce is simmering and while the cheese mixture is prepared, boil the pasta in salted water according to the package instructions.
When reserving 1/4 of a cup of pasta water, drain the pasta. Return the pasta to the empty dish, add the reserved pasta water and 1 cup of the red sauce immediately, then coat the pasta.
Spray 13 with non-stick spray on a 9-inch baking dish. Spread 1 1/3 cups evenly into the bottom of the dish of the red sauce, then spread 1/2 of the pasta over the sauce, and then dollop spoonfuls of ricotta mixture all over the pasta and flatten the remaining pasta slightly.
Spoon the remaining sauce evenly across the layer of pasta.
With the remaining 1 1/2 cups of mozzarella and 1/4 cup of parmesan sprinkle the top evenly.
Tent foil baking dish (do not let it touch the cheese or it will stick) and bake for 15 minutes, then uncover and bake for 10 to 15 minutes longer until all the cheese is melted. Serve it warm.