The Hammers European adventure spanning three seasons, 36 matches and 13 countries hangs in the balance after the wheels cruelly came off the bandwagon at the Bay Arena with just eight minutes remaining.

On an evening when they mustered just one shot to the home side’s 33 efforts on goal, West Ham United looked all set to defy all-conquering Bayer Leverkusen with a goalless stalemate in this UEFA Europa League, quarter-final, first-leg tie.

But substitutes Jonas Hofmann and Victor Boniface stepped from the bench to leave the depleted Hammers hopes dangling by a thread with two late, late Leverkusen goals.

And with Lucas Paquetà and Emerson disappointingly collecting their third bookings in this season’s competition, West Ham will also be without their two boys from Brazil in next Thursday’s London Stadium return, too.

Following Saturday’s victory a Wolverhampton Wanderers, David Moyes arrived at the Bay Arena without the club’s injured, record European goalscorer Jarrod Bowen (back) and the suspended Edson Álvarez.

That saw Michail Antonio return as lone striker while Aaron Cresswell moved into a three-man central defence as Vladimír Coufal and Emerson adopted wing-back roles.

And after Patrik Schick’s deft, early backheel was held by Łukasz Fabiański at the second attempt, Antonio broke forward in the ninth minute before unselfishly squaring to the supporting Mohammed Kudus, who wastefully side-footed a weak 15-yarder into Matēj Kovàr’s clutches.

Ironically, that was the closest West Ham would come to upsetting the odds against a buoyant Bayer side, who had come into their 42nd match of the season in all competitions still unbeaten – a run stretching back to early August.

Indeed, a 1-0 victory at Union Berlin on Saturday had left the Germans 16 points clear of Bayern Munich and VfB Stuttgart at the top of the Bundesliga and, following the victory that had left Xabi Alonso’s side so tantalisingly close to claiming their domestic title, they made seven changes as they turned their attention towards Europe.

Keeper Kovár, Schick, Josep Stanišić, Jeremie Frimpong, Exequiel Palacios, Edmond Tapsoba and Amine Adli all returned to the hosts’ strong starting line-up.

And on 10 minutes, Adli forced the flying Fabiański into a full-length stop before Palacios saw his shot deflected over for a corner and Schick also headed wide.

With the midway point of the first-half approaching, Alejandro Grimaldo unleashed another curler that Fabiański again clawed away.

Soon after, the consequently-cautioned Paquetá ignited a touchline skirmish, when he took out Adli.

That was the Brazilian’s 11th yellow card of the season in a West Ham shirt and his third in the tournament, which means he sits out next Thursday’s second leg.

Portuguese referee Artur Dias had also cautioned Paquetá in last month’s international against England at Wembley and, moments after putting his notebook away, he could easily have taken it back out of his pocket after the Hammers No.10 trod on the foot of Leverkusen’s own No.10, Florian Wirtz.

With peace breaking out and West Ham remaining firmly on the back foot against a Leverkusen side enjoying three-quarters of the possession, Schick’s low, angled shot was tipped beyond the base of his left-hand post by Fabiański, who then got down to  hold Tapsoba’s low 20-yarder.

Moyes men were relying on the counter-attack and the breaking Antonio squandered a great chance to free the unmarked Paquetá before then being wrestled to the floor in the penalty area by unpunished Leverkusen skipper Jonathan Tah.

The half-time statistics may have been overwhelmingly in favour of the Germans but having seen their side reach the interval all square, the vociferous travelling Claret and Blue army of 2,140 East Enders, certainly made their voices heard amongst the flag-waving, drum-beating Bayer fans outnumbering them.

But 10 minutes into the second half, Emerson also collected his third booking of the tournament – and 11th of the season - for a foul on Adli, which means he will also join the suspended Paquetá on the sidelines next week.

Alonso introduced Nathan Tella and Piero Hincapié as Stanišić and Frimpong stood down and, shortly after that double switch, the overworked Fabiański produced another fabulous fingertip save to divert Schick’s point-blank header onto his crossbar and safety.

The 35-cap Czech Republic striker had already scored five goals in the competition this season but he was not destined to reach the half-dozen mark against the Hammers given he was tellingly replaced by Boniface for the final quarter-hour.

Adli was withdrawn, too, as Hofmann also stepped from the bench and the newly-arrived substitute soon had Fabiański racing from his line to slide tackle him.

The German international striker would not be denied, though, and with just eight minutes left, he finally broke Hammers hearts, when he rifled a low 18-yarder back through a pack of bodies after Kurt Zouma had bravely blocked Boniface’s close-range shot in the melee that followed a Leverkusen corner conceded by the Hammers skipper.

Having got one, the Germans now went in search of a second and, with Tomáš Souček and Antonio making goalline clearances, West Ham looked set to kick-off the London Stadium return chasing just a one-goal deficit.

But with the contest about to enter stoppage time, Hofmann collected a short corner from Wirtz before whipping over a left-wing cross to fellow substitute Boniface, who climbed between Zouma and Cresswell to make an already difficult task yet harder with a thumping six-yard header that doubled Leverkusen’s advantage ahead of their trip to Stratford.

Bayer Leverkusen: Kovár, Stanišić (Hincapié 67), Tah, Tapsoba, Palacios, Xhaka, Frimpong (Tella 67), Grimaldo, Wirtz, Adli (Hofmann 76), Schick (Boniface 76). Unused subs: Hrádecky, Lomb, Kossounou, Andrich, Inglesias, Arthur, Puerta.

West Ham United: Fabiański, Coufal, Emerson, Cresswell, Zouma, Mavropanos (Aguerd 86), Souček, Ward-Prowse, Kudus (Johnson 86), Paquetá, Antonio. Unused subs: Anang, Knightbridge, Cornet, Ings, Ogbonna, Earthy, Casey, Mubama, Orford.

Booked: Paquetá (21), Emerson (56).

Referee: Artur Dias (Portugal).