The game was exciting throughout, but West Ham came out firing after the interval. They scored three goals in a 13-minute flurry that Newcastle couldn't recover from, with Steve Bruce's side having no attempts on goal in the second half.
The Magpies, though, seized an early lead with St James' Park supporting them for the first time since February 2020. Callum Wilson (5) scored his first goal in the iconic Newcastle No 9 jersey, heading home inside five minutes.
However, West Ham did not take long to equalise, as Aaron Cresswell's goal (18), which was first ruled out for offside, was rightly given following a VAR review. Newcastle seized the lead again soon before halftime when Jacob Murphy (41) scored his first goal at St James' Park.
Soon after the interval, Said Benrahma (53) headed West Ham ahead, then Tomas Soucek (63) tapped home after Michail Antonio's penalty was saved by Freddie Woodman.