Set your oven to preheat at 350 degrees Fahrenheit.
In a large skillet, cook and crumble the ground beef and Italian sausage, seasoning with salt and pepper. Drain most of the fat. Stir in the chopped onion and minced garlic and cook until the onions turn translucent. Add all but 1/2 cup of the marinara sauce, reserving that 1/2 cup for later, then mix everything well and set aside.
Cook the spaghetti according to the package directions until al dente. Drain the pasta and immediately place it in a large bowl. Add butter and the reserved 1/2 cup marinara sauce to the hot noodles and toss until combined.
In a separate bowl, thoroughly mix the cream cheese, sour cream, and cottage cheese until smooth.
In a 9x13 inch casserole dish, spread half of the spaghetti evenly. Layer the cheese mixture on top, smoothing it over the noodles. Add the remaining spaghetti as the next layer.
Pour the meat sauce evenly over the top layer of noodles and spread it out.
Sprinkle mozzarella cheese and freshly grated parmesan over the casserole.
Place the dish in the preheated oven and bake uncovered for 30 to 40 minutes, until the casserole is heated through and bubbly. Around the 20-minute mark, check the top; if the cheese is browning too fast, cover loosely with foil.
Allow the casserole to cool and set for at least 15 minutes before slicing and serving. Enjoy your delicious meal!