Preheat the oven to 350°F. Bring a large pot of salted water to a boil, then add the pasta. Cook the pasta until they’re al dente, making sure not to over cook them. Drain in a colander and then rinse briefly with cool water and set aside.
Heat a large skillet over medium heat and add the cooking oil. Brown the Italian sausage.
Once the sausage has browned, add the diced onion and minced garlic to the skillet. Sauté over medium heat until the onion is translucent and the garlic is fragrant.
Next add the Italian seasoning, garlic powder, salt, black pepper, and tomato paste to the skillet. Stir until combined. Then add the crushed and diced tomatoes and sugar to the skillet. Stir everything together until well combined. Reduce the heat to low and allow the mixture to simmer for 3 minutes.
Now add the cooked pasta to the skillet and carefully mix together with the meat sauce.
While the sauce is simmering, make the cheese filling. In a medium bowl add the ricotta, 1/2 cup shredded mozzarella, 1/4 cup grated parmesan, chopped parsley, salt, black pepper, and the egg. Stir all of the ingredients together well.
Now it’s time to assemble. In a large 9x13-inch casserole dish add half of the pasta sauce in the bottom of the dish. This will serve as the first layer. Next spread the cheese mixture on top of the pasta sauce. Now add the rest of the pasta sauce on top of the cheese in an even layer.
Sprinkle 1 cup shredded mozzarella and 1/4 cup grated parmesan cheese over the top.
Loosely place some tented aluminum foil over the casserole dish and bake in the preheated oven for 25 minutes. After 25 minutes remove the foil and bake uncovered for 10 more minutes, or until the sauce is bubbling up around the edges. Serve hot and enjoy!