Preheat the oven to 350 degrees.
Salt the water, bring to a boil, then add pasta. Cook at the lower end of the cooking time on the package directions, so it’s just al dente. Drain, then return the pasta to the pot and stir in sour cream. Set aside.
Meanwhile, heat a swirl of oil in a large skillet over medium heat. Add the ground beef and onions and cook, stirring often, until the beef is browned and onions are softened, about 7 minutes. Drain off any excess grease, then season with salt and pepper, to taste.
Stir in the cream cheese, cottage cheese, and spaghetti sauce. Bring to a simmer and cook, stirring often, until cream cheese is melted and mixture is heated through. Season to taste with salt and pepper.
Place the noodles in a greased 9 x 13 inch pan. Top with ground beef mixture. Sprinkle with mozzarella cheese.
At this point, you can put a lid on the casserole and freeze or refrigerate until ready to bake. Otherwise, place the casserole in the preheated oven and bake for 20-25 minutes or until the cheese is melted and edges are bubbling.