Dimitri Payet scored a dramatic last-gasp winner as West Ham produced a marvellous comeback against 10-man Everton to claim a 3-2 Premier League win on Saturday and stay within a point of the Champions League places.
Romelu Lukaku opened the scoring in the 13th minute - continuing his 100 per cent goalscoring record in his eight league games against West Ham.
Despite seeing Kevin Mirallas sent off for a second bookable offence in the 35th minute, Everton went 2-0 up as Aaron Lennon finished off a fine move and Lukaku had the chance to put the game to bed from the penalty spot.
But his failure to convert from 12 yards turned the tide completely as West Ham rallied to clinch a thrilling win.
Michail Antonio headed in his third goal in as many games to give Slaven Bilic's side hope before Diafra Sakho's first goal since September levelled matters nine minutes from time.
And there was one last twist in the tale in the 90th minute as Payet pounced on some sloppy Everton defending to cap an unbelievable fightback.
Everton had gone 15 Premier Leagues unbeaten against West Ham prior to Saturday's game and Lukaku broke the deadlock with his 18th league goal of the season, gaining a yard on Reece Oxford before firing home via the post.
Adrian was called into action to prevent Ross Barkley from making it 2-0 in the 25th minute as the Spaniard produced a fine diving save to his left to keep out the midfielder's left-footed volley.
The game seemed to take a big swing in West Ham's favour when Mirallas, who had already been booked for simulation, received his second caution for a late and needless challenge on Aaron Cresswell.
West Ham would have capitalised on their numerical advantage three minutes before half-time if not for an excellent reaction save from Joel Robles to deny Emmanuel Emenike after the Nigeria forward had got on the end of an inviting left-wing cross from Cresswell.
Oxford was withdrawn in favour of Andy Carroll at the start of the second half and West Ham spurned another chance to level when Antonio headed wide from a Payet free-kick five minutes after the interval.
And the visitors were duly punished for their profligacy six minutes later courtesy of a brilliantly worked move between Lukaku and Lennon, who surged towards the box before collecting the Belgian's sublime return pass and coolly slotting the ball underneath Adrian.
Lukaku could not make Alex Song pay for a clumsy challenge on Muhamed Besic as his tame 69th-minute spot-kick was kept out by Adrian, who made a one-on-one save from the former Chelsea man shortly after.
A huge swing in momentum followed as Antonio turned home Mark Noble's cross in the 78th minute to give West Ham hope before Sakho equalised three minutes later, heading Payet's wonderful delivery into the bottom-left corner.
Sakho was involved as West Ham completed an unlikely turnaround, flicking Carroll's header into the path of Payet to roll the ball underneath the legs of Joel.