Palace rode their luck after the break, but a below par United can have few complaints about losing their first game of the new season.
The visitors looked to stay compact and hit United on the counterattack in the early stages, and that paid off perfectly after just seven minutes.
Mamadou Sakho’s pass fed Jeff Schlupp in behind the United defence and his low cross flew across the box with Townsend arriving on cue to tuck home at the far post.
That early setback rocked United, with Paul Pogba’s long range effort their only chance inside the first 45 minutes.
Ole Gunnar Solskjaer threw on Mason Greenwood after the break, but the teenager wasted a brilliant chance to equalise on the hour mark.
Timothy Fosu-Mensah’s cross was perfect for the England international, but his free header flashes wide of the post.
That miss was to prove crucial for United, as Palace were handed an early season present by VAR with twenty minutes to go.
Referee Martin Atkinson chose to go with the technology and award the softest of soft penalties against Victor Lindelof.
United were initially handed a reprieve as David De Gea saved Jordan Ayew penalty, but Atkinson firmly removed himself from Solskjaer’s Christmas card list by ordering a retake.
Zaha pulled rank on Ayew for the second spot kick as the former United man fired past De Gea.
The hosts did look to rally in the closing stages, as debutant Donny van der Beek slotted home, but
Palace’s pace and power on the counter proved the difference once again.
With United pushing high up in the Palace half, a long ball out of defence released Zaha yet again and he held off Lindelof to seal all three points.
FULL TIME AT OLD TRAFFORD IT’S MANCHESTER UNITED 1 CRYSTAL PALACE 3