Fraizer Campbell returned to haunt Hull as he scored a late equaliser to earn Crystal Palace a 3-3 away draw.

Hull had appeared set to move out of the Premier League's bottom three as Adama Diomande and Jake Livermore's goals overturned Palace's 2-1 lead.

But Campbell, the player who once helped Hull to promotion but had turned down a return to the club, was booed by Hull fans throughout his warm-up and had the last laugh with his 89th-minute equaliser.

Robert Snodgrass' controversial penalty had given Hull the lead in a quiet first half but the game exploded to life in the second period as both teams deployed three-man defences.

Christian Benteke levelled from the spot before the excellent Wilfried Zaha's stunning strike put Palace ahead.

Snodgrass went down easily to win the first-half penalty (Getty)

Mike Phelan switched to a three-man defence from the start and saw his side enjoy the better of the first half.

One of the men who particularly appeared to enjoy the new formation was Andrew Robertson, who got forward well down the left in his new wing-back role.

His clever run was spotted by Tom Huddlestone early on but the Scotland international's shot was blocked before Livermore blazed over.

None of Hull's defenders were able to stop a surging run from Zaha in the fifth minute, but the winger was denied a spectacular goal by a fine save from David Marshall down to his right.

Diomande should have opened the scoring in the 17th minute. Livermore's clever pass released the striker but he could only fire straight at the onrushing Hennessey.

Benteke found an equaliser for Palace from the spot (Getty)

Hull did take the lead 10 minutes later in controversial circumstances. Again, it started with Robertson causing problems down the left and his cross found Snodgrass who took a tumble in the area under Scott Dann's challenge despite minimal contact.

Referee Mike Jones pointed to the spot and Snodgrass stepped up to score his fifth league goal of the campaign.

Alan Pardew responded to Hull's first-half dominance by also switching to a back three in the second half, with Zeki Fryers coming on for the ineffective Andros Townsend.

And seven minutes after the interval Palace were level. Snodgrass' clumsy challenge brought down Zaha and Benteke stepped up to level the scores.

Zaha then produced the standout moment of quality to put Palace ahead in the 70th minute. He collected the ball on the edge of the area, turned both Sam Clucas and Huddlestone inside out before letting rip with an unstoppable drive into the roof of Marshall's goal.

Diomande restored Hull's lead with 18 minutes to play (Getty)

But Palace's celebrations were cut short just two minutes later when Diomande received Maguire's pass, turned past his marker and slotted into the net.

Diomande nearly put Hull back in the lead soon after but after he was picked out by Ahmed Elmohamady, his goalbound shot was blocked by Martin Kelly.

But Palace did not heed the warning and with 13 minutes remaining Livermore strode into the visitors' penalty area and slotted into the bottom corner.

It appeared to be the winner, but Campbell had other ideas against one of his former sides.