Preheat oven to 350°
In a large skillet over medium heat, add ground beef, onions, garlic, salt and pepper and cook until meat is no longer pink.
Drain grease and return to pan.
Pour spaghetti sauce over meat and stir until well combined.
In a large pot, boil water.
Cook pasta according to package directions until pasta is "al dente"
Drain and set aside.
In a medium mixing bowl, stir cream cheese, sour cream and cottage cheese until well combined. Set aside.
In a 9 x 13 baking dish, add ½ of the butter, sliced, to the bottom of the baking dish.
Spoon half the pasta into the dish.
Add the cream cheese mixture and smooth over the top of the pasta.
Spoon remaining pasta over cream cheese mixture.
Add the remaining butter to the top of the pasta.
Cover pasta with meat mixture.
Bake uncovered for 40 minutes.
Remove from oven and cover with mozzarella cheese.
Return to oven and cook uncovered for an additional 20 minutes or until pasta bake is bubbling and cheese has started to brown.
Serve hot.