Gayle produced a superb individual effort two minutes into stoppage-time at Villa Park and in the process gave a massive boost to Palace's bid to avoid relegation from the Premier League.

Tony Pulis's team climbed to 17th place, above the bottom three on goal difference, while Villa were booed off by their fans after a fourth successive defeat.

Palace were without suspended top scorer Marouane Chamakh so Yannick Bolasie came into the starting line-up.

A dismal first half saw both teams struggle to find any attacking momentum.

The only real chance saw Libor Kozak's header destined for the top corner until Palace defender Adrian Mariappa got his head in the way.

The tempo increased at the start of the second half and it was Palace who should have taken the lead in the 48th minute.

Bolasie raced down the right wing and pulled the ball back for Jason Puncheon, who was in space on the edge of the box, but the forward got the ball stuck under his feet and could only poke a shot that was beaten away by Brad Guzan.

Villa responded and in the 54th minute a spell of pressure ended with Fabian Delph picking out Andreas Weimann with an excellent ball, but the Austrian chose to shoot first time and it was straight at Speroni.

Palace broke straight down the other end and Puncheon picked out Barry Bannan just inside the box.

The Scot turned and struck a shot towards the bottom corner that was superbly pushed onto a post by Guzan.

Bolasie was a real dangerman for Palace and in the 64th minute he got to the byline before pulling the ball back across the box for Puncheon, who was again denied by Guzan.

That was the forward's last action as he was replaced by Jonathan Williams, with Pulis also sending on record signing Gayle for Cameron Jerome.

Villa substitute Jordan Bowery had an 89th-minute header tipped over by Speroni and Palace took advantage of that escape in stoppage-time.

Gayle picked up the ball wide on the left, dribbled past Delph and curled a shot into the top corner.