Michail Antonio gave David Moyes’ side the lead early on at St. James’ Park, rifling home from close range after Jarrod Bowen’s low cross fell at his feet.
But Newcastle levelled through Miguel Almirón, who put the finishing touch to a fine, flowing move when he fired in Emil Krafth’s cross.
Tomas Soucek put the Hammers back in front with 25 minutes remaining, but Shelvey swept home just a minute later earn the Magpies a point – and preserve Steve Bruce's side's fine recent league run in the process.
Barely three minute in, the visitors led on Tyneside. It was a fine counter-attacking move but nevertheless one United will have felt was preventable. A neat touch from Antonio sent Pablo Fornals running down the middle, and his through ball let Bowen free down the right. Jamaal Lascelles couldn’t clear the low cross when it fell at his feet, and Antonio was there to bury the chance high into Martin Dúbravka’s net.
United’s response was swift and positive, though, and Shelvey’s powerful shot looked as though it would test Lukasz Fabianski until it was blocked on its way through. Dwight Gayle then both won and took a free kick on the edge of the box and, when it took a hefty deflection off the wall, the Hammers’ Polish stopper reacted well to palm it away.
Just after quarter of an hour, Bruce’s men levelled the scores in some style, and it was no less than their reaction to falling a goal behind had deserved. Joelinton and Gayle combined in the build-up, with Allan Saint-Maximin – who was nominated for the Premier League EA Sports player of the month award this week – influential too. It was the Frenchman’s pass that released Krafth on the overlap, and his low centre was perfect for Almirón, who gleefully turned home his eighth goal of the season.
The game remained open and the visitors, who began the day three points above the relegation zone, could have snatched the lead before the break. Aaron Creswell took aim from range and his low strike – which was heading wide of the target – was diverted goalwards by Bowen, and Dúbravka had to be alert to deny him with his feet.
It would have been harsh on Newcastle were they to have fallen behind, and after the break they began on the front foot with Almirón dragging a shot wide. Nabil Bentaleb, a first half replacement for the injured Isaac Hayden, slotted effortlessly into the thick of the action and Newcastle continued to cause West Ham problems, with Joelinton and Almirón combining well before the latter sliced wide.
But, after Federico Fernández turned away a dangerous cross across the face of goal from Ryan Fredericks, the resulting corner proved fruitful. Bowen swung it in, Rice planted a header against the crossbar and Soucek was the first to react, steering home first time to give the Hammers a 65th-minute lead.
But it was one they held for barely a minute. The Magpies attacked down the right and, with West Ham’s backline disrupted, Shelvey played in Gayle, who looked to be in an offside position. Shelvey took advantage of the confusion, continuing his run and collecting the ball before sweeping low beyond Fabianski, and though the visitors protested, replays showed that Gayle was played onside by Fornals.
After the equaliser, Bruce opted to bring on Valentino Lazaro and Matt Ritchie for Saint-Maximin and Gayle, as Moyes deployed Andriy Yarmolenko – scorer of his side’s winner against Chelsea in midweek – as they too looked for the goal that would seal three points.
And it was Yarmolenko who went closest to finding a winner in the closing stages. He combined with Soucek on the edge of the box and his vicious first-time shot looked to be heading in, but Dúbravka did well to parry it away. Soucek tried once more to snatch victory, but his hooked effort cleared the crossbar and the spoils were shared.