Harvey Barnes scored twice as Newcastle United came from 3-1 down to beat West Ham United 4-3 at St James' Park.
Eddie Howe's side trailed 3-1 after Alexander Isak's opener was cancelled out by Michail Antonio, Mohammed Kudus and Jarrod Bowen but the introduction of Barnes sparked an incredible comeback.
Isak, after scoring a penalty in the first-half, converted from the spot again before Barnes struck twice. The win saw United move up to eighth in the Premier League table, one point behind the seventh place Hammers.
Howe made one change from the FA Cup exit to Manchester City with Tino Livramento replacing Sven Botman, who is ruled out for six to nine months with an ACL injury.
Newcastle went into the game four points behind seventh place West Ham and took the lead just six minutes in when Alexander Isak converted from the spot. The penalty came after Anthony Gordon was foul by Vladimir Coufal.
The Magpies made a bright start but that was severely impacted when Jamaal Lascelles was forced to withdraw. His replacement Emil Krafth played Michail Antonio onside for the equaliser in the 21st minute.
St James' Park was then outraged when the Hammers went in front in first-half stoppage time. Fabian Schar was down with a head injury when the visitors took a quick free-kick that led to Mohammed Kudus' strike.
Referee Rob Jones was booed off at the break.
While there were question marks surrounding the referee for the Hammers' second goal, it was Newcastle's own undoing when Bowen was left unmarked to make it 3-1 from a counter-attack.
With changes from the bench, Newcastle found some momentum and made it 3-2 when Kalvin Phillips conceded a penalty after fouling Gordon. Isak then kept his cool for a second time.
United had their tails up and Barnes struck twice to send St James' Park in ecstasy. Here's our Newcastle player ratings from a chaotic afternoon on Tyneside:

1. Martin Dubravka - 5
Did little except pick the ball out his net three times. | AFP via Getty Images

2. Tino Livramento - 5
Started brightly at right-back but struggled to have anywhere near the same impact after switching over to left when Lascelles’ injury forced a defensive reshuffle. | Getty Images

3. Fabian Schar - 5
Didn’t look his usually composed self from the start and that showed even further when the game unfolded. Hasn’t been his reliable self in recent weeks although did improve in the latter stages of the match. | Getty Images

4. Jamaal Lascelles - 6
Made a comfortable start to the game before being forced off with an injury just 18 minutes in. Tried to continue but couldn’t. | AFP via Getty Images