Bring a large pot of salted water to boil and prepare the spaghetti noodles according to the al dente instructions on the package. When the noodles are done, rinse the with cold water and set them aside.
While the spaghetti is cooking, start preparing the Italian sausage. Place a large skillet over medium/high heat and add the olive oil and Italian sausage to the skillet. Cook until almost all of the pink is gone.
Next, add the onion and garlic to the Italian sausage. Cook until the onion is translucent (about 2 minutes). Add 2 cups of the marinara to the Italian sausage and heat for an additional minute. Remove from the heat and set aside.
Add the ricotta and cream cheese to a large bowl. Using a hand mixer, beat the cheeses together until they are light and fluffy (about 3 or 4 minutes).
Next, add the Italian seasoning, crushed red pepper flakes, and 1 cup of grated parmesan to the whipped cheese mixture. Mix until everything is well combined.
Preheat the oven to 350℉ and spray a 9x13 pan with cooking spray.
Add the spaghetti noodles to the Italian sausage mixture. Toss to combine. Transfer the noodles into the greased baking dish.
Spread the whipped ricotta cream cheese mixture on top of the noodles and then pour the remaining 1 cup of marinara sauce on top and spread to cover.
Sprinkle the mozzarella cheese across the top. Cover with tin foil. And bake for 30 minutes covered. After 30 minutes, remove the cover, and bake for an additional 15 minutes.
Remove from the oven and allow to sit for 10 minutes before cutting and serving.