Villa had already benefited from defensive indecision when Pape Souare diverted Adama Traore’s cross into his own net to cancel out Scott Dann’s header, but Sako’s late goal saw the hosts to a deserved three points.
Palace had found the net before Dann’s opener, but assistant referee Peter Kirkup and referee Keith Stroud belatedly ruled James McArthur was offside when Dwight Gayle shot before the ball ricocheted in off the Scot.
Palace prevailed despite being without Yannick Bolasie, who has been linked with a £25million move to Tottenham. Bolasie was replaced in the starting XI by Glenn Murray, but Palace made it aware it was on compassionate grounds following the death of his father.
Murray, however, was taken off at half-time after a poor display. Wilfried Zaha was also hooked at the interval, with Villa the more menacing side in the first half.
Rudy Gestede and Jack Grealish were brought in as two of Villa’s three changes, and the pair troubled Palace in contrasting ways.
Gestede had the brawn, Grealish the flair, testing Palace goalkeeper Alex McCarthy with one effort from wide on the left towards the end of the first half.
McCarthy had earlier saved well to deny Gabriel Agbonlahor one-on-one after Grealish had threaded a ball through.
Joel Ward took steps to stop Grealish and was booked for a foul on the playmaker, whose shin pads provided little protection.
Zaha next won the ball from Leandro Bacuna and played a one-two with Murray, but the return pass was behind him as he shaped to shoot.
Pardew brought on Gayle and Jordon Mutch, who almost had an immediate impact crossing for Bacary Sako, but Brad Guzan denied him.
Yohan Cabaye was next to fell Grealish before Gayle was denied his goal after much deliberation between the match officials 29 minutes from time.
Palace did take the lead 10 minutes later when Dann met Puncheon’s corner, but Villa soon equalised.
Former Barcelona forward Traore breezed down the right, inside Puncheon and his cross deflected in off Souare, with McCarthy wrong-footed and helpless.
Next Guzan and his left-back, Jordan Amavi, contrived to present Palace with a chance and Dann won the ball before Sako finished emphatically to earn Palace victory.