They came to pay homage to Mark Noble and left knowing West Ham United have qualified for Europe next season following this four-goal thriller at London Stadium.

Stepping from the bench for the final quarter-hour of the last home match of his loyal 549-game claret and blue career, the 35-year-old Hammers captain received a rapturous reception from the Hammers faithful on an afternoon when David Moyes’ men gave the Premier League title favourites the fright of their lives.

Top scorer Jarrod Bowen fired West Ham into an unlikely 2-0 interval lead before Jack Grealish and a Vladimír Coufal own goal brought Pep Guardiola’s side level.

And having arrived on the scene for the closing act, Noble then saw Łukasz Fabiański save Riyad Mahrez’s 86th-minute penalty to leave both sides settling for the point that guarantees a second successive season of European football, while City go into next Sunday’s final game in the knowledge that victory over Aston Villa will secure the Premier League title.

Here in the East End, with a Europa Conference League place already assured, Europa League qualification for the seventh-placed Hammers is still in realistic range provided they can win at Brighton & Hove Albion and the red-half of Manchester slip up at Crystal Palace, too.

Following his side’s 4-0 victory at Norwich City seven days earlier, Moyes made just one change with Tomáš Souček coming in for Saïd Benrahma (bruised toe) and, although the Hammers had knocked Guardiola’s table-topping side out of the Carabao Cup back in October, City duly arrived in the capital undefeated against the East Enders in the past dozen Premier League meetings between these two sides.

Oleksandr Zinchenko prodded an early effort into Fabiański’s gloves but West Ham looked undaunted by the might of their opponents as Jarrod Bowen forced a second-minute corner that ended up with Craig Dawson nodding Pablo Fornals’ recycled cross inches over Ederson’s crossbar.

Then, in a bizarre moment, the back-pedalling Aymeric Laporte obliviously trod on an assistant referee’s ankle as the Hammers set about launching another raid down the right touchline before Michail Antonio embarked on a bulldozing charge into the City box, where he finally found himself crowded out.

Those were only brief moments of home possession, though, as City enjoyed no less than 82% possession during an opening 20 minutes that saw Guardiola watch from his technical area as Rodri’s 25-yarder deflected off Dawson before Fernandinho sent a rising shot beyond the flying Fabiański and just inches over the Polish ‘keeper’s crossbar.

Indeed, the Spaniard had also seen his team win their last five matches by at least a three-goal margin, while also netting 19 times in their last four games and, ironically, City’s 5-1 victory over eight-placed Wolverhampton Wanderers on Wednesday evening had all but left the Hammers securing that second-successive European qualification.

After dishing out that midweek Molineux mauling, Guardiola made a trio of switches with Grealish, Mahrez and Gabriel Jesus each coming in for substitutes Ilkay Gündogan, Phil Foden and Raheem Sterling.

Undeterred by their acute lack of possession, Moyes men knew that whenever they had the ball they would need to make it count and, totally against the run of play, they did just that on 24 minutes.

With Antonio outjumping Fernandinho on the centre-spot, his header fell to the quick-thinking Fornals, who sent Bowen sprinting clean away behind the visiting defence and, with the helplessly-exposed Ederson now forced to race from his line, the Hammers No.20 expertly rounded the Brazilian ‘keeper before guiding a tightly-angled eight-yarder across the face of the sliding Laporte into the net.

Barking and Dagenham Post: West Ham United's Jarrod Bowen gets past Manchester City goalkeeper Ederson to score at Londno StadiumWest Ham United's Jarrod Bowen gets past Manchester City goalkeeper Ederson to score at Londno Stadium (Image: PA Wire/PA Images)

That opener sent a cacophonous roar ringing around the entire parish of Stratford and having given his side the lead with his 17th goal of the season, there was no way that Bowen was going to give up that advantage and, with Grealish then threatening to break from halfway, he collected an inevitable yellow card for his diving lunge into the £100m midfielder.

Jesus, Zinchenko and De Bruyne all threatened as Guardiola’s guys went in search of a leveller but there was double-trouble for the visitors on 45 minutes as Bowen broke away once again, to give his side a two-goal interval lead.

This time, Fabiański’s huge drop-kick towards halfway was nodded on by Souček and with Antonio picking up the loose ball, he cleverly sent Bowen galloping clear and, riding Fernandinho’s attempted lunge, the on-fire Hammers ace fired a low 18-yarder past Ederson’s despairing dive.

Certainly, that made for two very different half-time team-talks but within just four minutes of the restart, City had pulled one back after Zinchenko’s cross was nodded back by Rodri for Grealish to drill an 18-yard shot into the turf and over both Dawson and the flailing Fabiański.

Having just got one, City nearly got two but the Hammers ‘keeper managed to repel Bernardo Silva’s angled effort and, after Coufal was cautioned for a body-check, De Bruyne whipped the consequent 20-yard free-kick inches over.

At the other end, a shocking defensive mix-up allowed Bowen to sneak in down on the by-line but despite now having three claret and blue shirts in support, the lure of the matchball was simply too much and he ripped his shot into the side-netting from an impossible angle.

With the City defence momentarily in tatters, it was then Antonio’s turn to produce a rash finish, when he stole onto Fernandinho’s woeful back-pass before impatiently chipping the ball both wide of Ederson and an empty net from 25 yards.

Both misses would prove so costly.

For on 69 minutes, Antonio’s nudge on Laporte saw Mahrez float a left-wing free-kick into the Hammers area, where the crestfallen Coufal could only plant a header beyond the flat-footed Fabiański and inside the ‘keeper’s far post.

With a quarter-hour remaining, Rodri’s 25-yarder left scorch marks on Fabiański’s gloves before London Stadium stood as one to salute Noble as he strutted onto the green, green grass of home for that one final time.

Certainly, the long-serving skipper would be embroiled in an eventful final tread of the boards on his beloved Stratford stage and, with just four minutes of normal time remaining, referee Anthony Taylor was referred to his pitchside monitor to review Dawson’s lunge on Jesus.

But on an afternoon of so many twists and turns, it was perhaps inevitable that with the official having pointed to the spot, there would be one final moment of drama.

Indeed, Fabiański brilliantly flung himself to his left to beat away Mahrez’s penalty and leave both teams settling for the draw that keeps their respective title and Europa League hopes alive going into next weekend’s super Sunday.

West Ham: Fabiański, Coufal, Cresswell, Dawson, Zouma, Rice, Souček, Fornals (Johnson 90+2), Lanzini (Noble 77), Bowen, Antonio (Yarmolenko 90+4). Unused subs: Areola, Vlašić, Fredericks, Masuaku, Král, Oko-Flex.

City: Ederson, Cancelo, Zinchenko, Laporte, Fernandinho, Rodri, De Bruyne, Grealish, Mahrez, Silva, Jesus. Unused subs: Steffen, Aké, Sterling, Gündogan, Foden, Egan-Riley, Mbete, Palmer, Lavia.

Booked: Bowen (32), Coufal (58), Fabiański (60), Jesus (90+3).

Referee: Anthony Taylor.