Bring a large pot of salted water to a boil. Add spaghetti and cook until al dente according to package instructions. Drain and set aside.
Heat a large skillet over medium heat. Add ground beef and cook until browned. Drain excess fat if needed. Stir in marinara sauce, Italian seasoning, salt, and pepper. Let it simmer for 3 to 5 minutes.
In a mixing bowl, combine cream cheese, sour cream, and butter. Mix until smooth and creamy.
Preheat oven to 350°F (175°C).In a 9×13 inch baking dish:Add half of the cooked spaghetti.Spread the creamy mixture evenly over the pasta.Add the remaining spaghetti on top.Pour the meat sauce evenly.Sprinkle mozzarella and parmesan cheese over the top. Bake uncovered for 30 to 35 minutes, or until the cheese is melted, bubbly, and slightly golden.
Remove from oven and let it rest for 5 to 10 minutes before serving. This helps the layers set and makes slicing easier.