Match ends, Crystal Palace 1, Stoke City 0.
Jason Puncheon scored the only goal of the game as Crystal Palace moved off the bottom of the Premier League table with a victory against Stoke.
Puncheon missed a penalty in the defeat at Tottenham last week but capitalised on Oussama Assaidi's error to score with a low shot just after half-time.
Stoke's best chance of the match saw Marc Wilson's header pushed wide by Julian Speroni in the first half.
The win moves Tony Pulis's side 16th, two points behind former club Stoke.
The Eagles were three points from safety when Pulis took over in November and although they are still struggling for goals - Puncheon's was just their 14th in 22 Premier League matches - they are now looking more than capable of survival.
This was their sixth victory of the season and a fourth in 10 since Pulis took over.
Now winless in five matches, his former club Stoke are drifting into relegation trouble and face a key game against Sunderland next.
Pulis, who left Stoke at the end of last season, was given a warm reception from the Potters fans before a first half in which each side was limited to just one chance of note.
Joel Ward wasted a good early opportunity for the hosts when he glanced wide from Yannick Bolasie's cross.
At the other end, Palace goalkeeper Julian Speroni pushed a Wilson header from Charlie Adam's free-kick around the post, while Stoke defender Erik Pieters thumped wide after a neat touch took him past Bolasie.
The visitors almost began the second half in style when Adam collected a header from Jon Walters and beat two players before driving wide from just outside the area.
But instead it was Palace who broke the deadlock, Puncheon putting them ahead with his second goal of the season after some tame Stoke defending.
Assaidi won the ball from Adrian Mariappa in his own area but passed inside - straight to Puncheon - rather than clearing, and the Palace winger was given the room to prod a low shot into the bottom corner.
Walters headed high and wide from Assaidi's deep cross and Adam also thumped wide from distance as Stoke sought to respond.
As the home side were forced back, Peter Crouch also bent a shot just past the post, and Mark Hughes then introduced on-loan Manchester City striker John Guidetti as they pressed forward urgently.
Stoke goalkeeper Jack Butland's triple save from Ward, Puncheon and Stuart O'Keefe kept his team's chances alive.
The visitors' desperation was summed up by centre-back Ryan Shawcross playing out the final minutes in attack, but they could not find an equaliser and Butland had to produce a save to deny Puncheon a second.
Crystal Palace manager Tony Pulis:
"Sixteen games to go and we've given ourselves a chance from not having a chance but we can't get carried away.
"Punch [Jason Puncheon] is a good player and people miss penalties. People might say not by that much but Punch had to get over it and there were no problems."
On his reception from the Stoke fans: "It was wonderful from the Stoke supporters and I thank them very much. We had a wonderful 10 years together.
"My wife and daughters were Stoke supporters for 10 years so it was difficult for everybody but the main thing was the three points and I hope and pray to be able to go back to Stoke with Palace next season."
Stoke manager Mark Hughes:
"We huffed and puffed a bit and tried to force the issue but made it difficult for ourselves by conceding a poor goal. That's been the case of late and it's something we need to take out of our game.
"Once they got the first goal, in a game that lacked quality, that was going to be key to winning the game and Palace were able to get that through poor defending.
"We need to nip that in the bud and we gave them a helping hand. They were able to get people behind the ball and we didn't have the guile or purpose to create the chances."
- 29ChamakhSubstituted forWilbrahamat 86'minutes
- 31GuédiouraSubstituted forO'Keefeat 68'minutes
- 7BolasieSubstituted forMoxeyat 86'minutes
- 15N'ZonziBooked at 83mins
- 19WaltersSubstituted forGuidettiat 79'minutes
- 6WhelanSubstituted forIrelandat 58'minutes
- 24AssaidiSubstituted forArnautovicat 72'minutesBooked at 82mins
- Lee Mason
- Shots on Target
Second Half ends, Crystal Palace 1, Stoke City 0.
Attempt saved. Jason Puncheon (Crystal Palace) left footed shot from the left side of the six yard box is saved in the bottom left corner. Assisted by Mile Jedinak.
Attempt blocked. Charlie Adam (Stoke City) right footed shot from outside the box is blocked.
Attempt missed. Aaron Wilbraham (Crystal Palace) right footed shot from outside the box misses to the left. Assisted by Jonathan Parr following a fast break.
Attempt missed. Marc Wilson (Stoke City) header from the centre of the box misses to the right. Assisted by Charlie Adam with a cross following a corner.
Corner, Stoke City. Conceded by Stuart O'Keefe.
Attempt blocked. John Guidetti (Stoke City) left footed shot from the centre of the box is blocked. Assisted by Ryan Shawcross with a headed pass.
Steven N'Zonzi (Stoke City) wins a free kick in the defensive half.
Foul by Joel Ward (Crystal Palace).
Attempt missed. Marko Arnautovic (Stoke City) left footed shot from outside the box misses to the right.
Attempt saved. Aaron Wilbraham (Crystal Palace) right footed shot from outside the box is saved in the centre of the goal.
Erik Pieters (Stoke City) wins a free kick in the defensive half.
Aaron Wilbraham (Crystal Palace).
Substitution, Crystal Palace. Aaron Wilbraham replaces Marouane Chamakh.
Substitution, Crystal Palace. Dean Moxey replaces Yannick Bolasie.
Foul by Charlie Adam (Stoke City).
Marouane Chamakh (Crystal Palace) wins a free kick on the left wing.
Offside, Crystal Palace. Jonathan Parr tries a through ball, but Marouane Chamakh is caught offside.
Attempt saved. Stuart O'Keefe (Crystal Palace) left footed shot from the left side of the six yard box is saved in the centre of the goal.