Preheat oven to 350°F and grease a 9x13 baking dish.
Cook spaghetti in salted boiling water until just barely al dente, about 1 minute less than package directions. Drain well.
Brown ground beef in a large skillet over medium-high heat, breaking it up as it cooks. Drain fat.
Add pasta sauce, Italian seasoning, garlic powder, salt, and pepper to the beef. Stir and simmer on Low for 5 minutes.
In a large bowl, mix softened cream cheese and sour cream until smooth. Add drained spaghetti and toss until coated.
Spread cream cheese pasta into the prepared baking dish. Lay butter slices over the noodles.
Pour meat sauce over the top and spread to the edges. Sprinkle mozzarella evenly over everything.
Cover tightly with foil and bake 30 to 35 minutes, until hot and bubbling.
Remove foil and bake 10 more minutes, until cheese is melted and lightly golden. Rest briefly before serving.
Notes
Make sure cream cheese is fully softened before mixing or it will stay lumpy. Cook pasta slightly under al dente so it does not get mushy in the oven. Drain ground beef well to avoid a watery casserole. Assemble up to 24 hours ahead, or freeze baked or unbaked for up to 3 months.