Stoke City 1 Crystal Palace 3
City created most of the opportunities in what was a strange game in some ways, but they have now won just one of their last 13 Championship games.
Stoke started brightly and Gabor Kiraly did well to claw away Mamady Sidibe's header from Marlon Broomes' cross in the fourth minute.
City skipper Michael Duberry then hooked a shot over the bar from Clint Hill's knockdown and a 25-yard strike from Broomes forced more acrobatics from the busy Kiraly.
But Palace gradually got into the game with Jobi McAnuff testing Steve Simonsen moments before the visitors took the lead on the half-hour.
Emmerson Boyce burst into the danger area to whip over a low cross and Sidibe, in an attempt to deny McAnuff, diverted the ball into his own net.
Paul Gallagher almost levelled moments before the interval and Stoke did equalise 68 seconds after the break when Australian international Josip Skoko claimed his first for the club.
There didn't appear to be any great danger from Broomes' left-wing throw-in, but Skoko dinked a clever lob over Kiraly and into the far corner of the net.
The goal really sparked the game in to live and Palace were back in front less than two minutes later when McAnuff's shot took a deflection before entering the net via Simonsen's outstretched palm.
Stoke bounced back and the Palace goal had a miraculous escape when Kiraly saved from Sambegou Bangoura and Darel Russell, both from point-blank range in quick succession.
But the visitors sealed victory four minutes later through Andy Johnson's 14th goal of the season and seventh in five games against the Potters. McAnuff played the ball over the top and Johnson produced terrific acceleration to leave Hill trailing and slide a neat shot inside Simonsen's left-hand post.
Michael Hughes should have added gloss to Palace's win in stoppage time when, with one of the misses of the season, he struck the bar from three yards after excellent work by Johnson.