Preheat the oven to 350 degrees. Spray a 9x13 baking dish with non-stick spray.
Bring a large pot of salted water to a boil and cook spaghetti for 1 minute less than the package directions state. Drain the water from the pasta.
While the spaghetti is cooking, heat a large skillet over medium heat and brown the beef, crumbling it as it cooks. Drain the fat and add the marinara sauce to the meat. Simmer over low heat until the spaghetti is ready.
In a medium bowl, beat together the cream cheese, sour cream, cottage cheese, and garlic until smooth, creamy, and well combined. Salt and pepper to taste.
Place half of the cooked spaghetti in the bottom of the baking dish. Dollop half of the cream cheese mixture over the spaghetti and spread as evenly as possible. Spread with half of the meat mixture. Repeat the layers once and top with cheddar cheese.
Bake for 20-30 minutes or until hot and bubbly.
You may substitute any cheese you like for the cheddar. Mozzarella and Parmesan work well.