Preheat your oven to 350°F (175°C). Grease a 9x13-inch baking dish.
Cook the spaghetti according to package instructions until al dente. Drain and set aside.
In a large skillet over medium heat, cook the ground beef or sausage until browned. Drain excess fat.
Stir in the marinara sauce, garlic powder, onion powder, Italian seasoning, salt, and pepper. Simmer for about 5 minutes.
In a large bowl, combine the softened cream cheese, sour cream, and half of the mozzarella and Parmesan cheeses. Mix until smooth.
Add the cooked spaghetti to the cream cheese mixture and stir until well combined.
Spread half of the spaghetti mixture in the bottom of the prepared baking dish. Layer half of the meat sauce over it. Repeat the layers with the remaining spaghetti and meat sauce.
Top with the remaining mozzarella and Parmesan cheeses.
Cover with aluminum foil and bake for 25 minutes. Remove the foil and bake for an additional 15 minutes, or until the cheese is bubbly and golden.
Let it cool for 5-10 minutes before serving. Garnish with fresh parsley.