If you had offered David Moyes a draw at kick-off, he would most certainly have taken it. If you had offered him a narrow defeat, he would probably have taken that too. They nearly had both, but two late goals means they face an uphill task of keeping their European dream alive.
With his top scorer Jarrod Bowen left at home due to injury, his influential midfielder Edson Alvarez suspended, they had done well to keep the now 42-game unbeaten Bayer Leverkusen at bay for 83 minutes.
Jonas Hofmann’s volley finally broke the deadlock before Victor Boniface added a second in stoppage time.
To progress, the Hammers will have to do something no other team has managed this season - inflict defeat upon Leverkusen. They will also have to do something that has happened just once - win without Lucas Paqueta.
The Brazilian’s first half yellow card means he is now suspended for the second leg. A third round League Cup tie with Lincoln is the only game Moyes’ side have won without their star forward.
Victor Boniface scored Bayer Leverkusen's second goal in their 2-0 win over West Ham
Jonas Hofmann put the Bundesliga leaders ahead with seven minutes left to play
West Ham have a mountain to climb in the second leg at the London Stadium next week
If last night was gruelling, next week could be even more so. It is unclear whether Bowen will be fit and, as well as Paqueta, Emerson is also suspended.
Xabi Alonso had talked about miracles before this game and whether going all season unbeaten would surpass Liverpool’s comeback victory in the Champions League final in 2005. He asked why he could not have both.
He may well achieve that. West Ham certainly need one if they want to make it to the semi-finals.
Fans on the journey to the stadium boasted about having already booked hotels for Dublin, where the final will take place on May 22. The Bay Arena has become a cauldron for opposition teams and a vociferous atmosphere greeted Moyes’ players at kick-off.
It was not a surprise to see the hosts dominate possession in the early stages, with West Ham rarely getting a kick.
The Hammers knew their best opportunities were likely to come on the counter-attack and that they would have to take them when they came along. Mohammed Kudus should have done better when he was played in by Antonio, but could only send a weak shot straight at Leverkusen goalkeeper Matej Kovar.
Lukasz Fabianksi then made a superb stop to push Alex Grimaldo’s long-range effort around the post.
Lukasz Fabianksi (right) was a busy man as Leverkusen piled on the pressure
David Moyes must conjure another famous European night in the second leg
Lucas Paqueta will miss the second leg next week after receiving a yellow card on Thursday
MATCH FACTS AND PLAYER RATINGS
Bayer Leverkusen (3-4-2-1): Kovar 6, Stanisic 6.5 (Hincapie 66, 6), Tah 5, Tapsoba 6.5, Frimpong 6.5 (Tella 67, 6), Xhaka 7, Palacios 6.5, Grimaldo 7, Wirtz 7, Adli 6.5, Schick 6.5
Subs not used: Hradecky, Lomb, Kossounou, Arthur, Andrich, Puerta, Iglesias
Booked: -
Goals: Hoffmann (83), Boniface (90+1)
Manager: Xabi Alonso
West Ham (3-4-2-1): Fabianski 8, Mavropanos 7, Zouma 7, Cresswell 6.5, Coufal 7, Soucek 6.5, Ward-Prowse 6.5, Emerson 6.5, Kudus 6.5, Paqueta 6, Antonio 7
Subs not used: Anang, Knightbridge, Ogbonna, Casey, Cornet, Earthy, Orford, Ings, Mubama
Booked: Paqueta, Emerson
Manager: David Moyes
Referee: Artur Dias
As if West Ham were not missing enough players, they were dealt a further blow when Paqueta was booked for a needless foul on Amine Adli.
The caution, his 11th of the season, is costly.
The Brazilian was lucky not to see a second booking for dissent and another foul on Florian Wirtz shortly after.
Fabianski was a busy man, and he needed to make two more fine stops to keep out efforts from Patrik Schick and Edmond Tapsoba.
His team-mates had him to thank for going into half-time with the score 0-0.
The pattern of Leverkusen dominating the ball continued after the break, with the hosts camped in their opposition’s half.
Fabianski was called into action again to make a brilliant one-handed save to keep out Schick’s header at the near post.
The breakthrough finally came in the 83rd minute.
Antonio had made a superb block in his own box, but the ball dropped to Hoffman and his first-time volley sailed past Fabianski.
Leverkusen smelled blood and, after Nayef Aguerd, Antonio and Tomas Soucek all blocked efforts on the line, Boniface finally converted a second, heading in Hofmann’s cross from inside the box.
Moyes looked crestfallen at full-time. He will need to conjure up another special European night now.