Preheat the oven to 350°F (175°C). Grease a 9x13-inch baking dish and set aside.
Cook the spaghetti according to package directions until al dente. Drain and set aside.
In a large skillet over medium-high heat, brown the ground beef with the diced onion until beef is cooked through and onion is softened. Add the minced garlic in the last minute of cooking.
Stir in the tomato sauce, Worcestershire sauce, Italian seasoning, salt, and pepper. Simmer for 5 minutes to blend flavors, then remove from heat.
In a separate bowl, beat together the softened cream cheese and sour cream until smooth. Fold in 2 cups of the shredded cheddar cheese.
Combine the cooked spaghetti with half of the meat sauce. Spread half of the spaghetti mixture into the prepared baking dish. Top with the cream cheese mixture, then layer the remaining spaghetti and meat sauce on top.
Sprinkle the remaining 1 cup of cheddar cheese over the casserole. Mix the melted butter with the breadcrumbs and sprinkle evenly over the cheese.
Bake uncovered for 25 to 30 minutes, or until the casserole is bubbly and the topping is golden brown. Let rest 5 minutes, garnish with chopped parsley, then serve warm.
Notes
Leftovers keep well in the refrigerator for up to 3 days. Reheat covered in a 350°F oven until warmed through.