Michael Olise scored a dramatic winner at the death to give Crystal Palace a 2-1 win over West Ham at the London Stadium.
With both sides languishing in mid-table, having been expected to challenge for European football the game presented a great opportunity for either side to take the initiative and stake their claim for a top-half finish.
Despite being the home side, West Ham found themselves on the back foot throughout this clash and struggled to gain any possession. Palace were fitter and sharper than the hosts, coming out on top repeatedly and pinning West Ham back.
Despite Palace's superiority, it was West Ham who took the lead after 20 minutes with a thunderbolt from Said Benrahma. The Algerian received the ball from Paqueta and evaded Jordan Ayew before firing past the helpless Vicente Guaita from outside the box.
However, Palace finally got their reward before half-time when Eberechi Eze stole the ball off Thilo Kehrer and found Wilfried Zaha before the Eagles captain put the ball in the back of the net.
Though the scores were level at the break, the game seemed very much set up for Palace to grab the winner and West Ham could not find a foothold to gain control of the match.
But as time wore on, it began to seem as though neither side had the quality required to break the deadlock.
In the end, it turned out the drama was all being saved for the final 10 minutes. First, Michail Antonio appeared to be felled in the Palace box by Marc Guehi, but a lengthy VAR check determined that there was no foul and Palace's blushes were spared.
A late penalty would have been harsh on Patrick Vieira's side, who were considerably better than their opponents throughout and much better value for a win.
And sure enough, Palace received the reward their performance deserved in the dying embers of the game when Zaha set up Michael Olise to score a last-minute winner and send the travelling supporters wild.
West Ham player ratings
GK: Lucasz Fabianski (7); RB: Thilo Kehrer (7); CB: Craig Dawson (8); CB: Kurt Zouma (7); LB: Aaron Cresswell (7); CM: Tomas Soucek (7); CM: Declan Rice (6); RW: Jarrod Bowen (6); CAM: Lucas Paqueta (8); LW: Said Benrahma (7); ST: Gianluca Scamacca (6).
SUB: Michail Antonio (6); Manuel Lanzini (6); Flynn Downes (6); Pablo Fornals (N/A)
Crystal Palace player ratings
GK: Vicente Guaita (6); RB: Nathaniel Clyne (7); CB: Joachim Andersen (6); CB: Marc Guehi (6); LB: Tyrick Mitchell (7); CM: Cheick Doucoure (7); CM: Jeffrey Schlupp (6); RW: Jordan Ayew (7); CAM: Michael Olise (8); LW: Eberechi Eze (8); ST: Wilfried Zaha (8).
SUB: Luka Milivojevic (7).