Cooking Instructions:
Preheat your oven to 350°F (175°C). Cook the spaghetti in a large pot of salted boiling water until al dente, according to package instructions. Drain the pasta and mix it with about 1 cup of marinara sauce, reserving 1/2 cup for later.
In a large skillet, cook the ground beef or Italian sausage over medium heat until browned. If using, add the diced onion and cook until softened.
Stir in the minced garlic and mix in the remaining marinara sauce. Allow it to simmer for a few minutes until heated through.
In a mixing bowl, combine the cottage cheese (or ricotta) with the softened cream cheese and stir until smooth and well-blended.
Grease a 9x13 baking dish with cooking spray or butter. Begin assembling the casserole by layering half of the spaghetti mixture in the dish. Spread the cheese mixture evenly over the pasta.
Top with the remaining spaghetti, and then pour the meat sauce over the top.
Sprinkle the shredded mozzarella and grated parmesan evenly over the casserole. Bake uncovered in the preheated oven for 30-45 minutes, or until the casserole is hot and bubbly.
Once baked, allow the casserole to rest for 15-30 minutes before serving. This will help it set and make it easier to cut and serve.