Match ends, West Ham United 1, Eintracht Frankfurt 2.
West Ham will have to come from behind in Germany next week if they are to reach their first European final in 46 years after Eintracht Frankfurt secured a deserved first-leg advantage at London Stadium.
Jarrod Bowen came agonisingly close to snatching a draw for the hosts in stoppage time when his overhead kick from a Declan Rice cross bounced down off the crossbar.
But that would have been harsh on Frankfurt, who were a constant threat on the counter-attack and showed why they had won away at Real Betis and Barcelona already in the knockout stages.
The visitors had the perfect start when Ansgar Knauff scored inside the opening minute.
The Hammers did recover through Michail Antonio's 11th goal of the season - and his first in the Europa League since September - as he bundled home Kurt Zouma's nod down at the far post.
It was Frankfurt who got the winner when Daichi Kamada tapped home after Djibril Sow's low shot was turned into his path.
Until the dramatic finale, a Bowen shot that flicked off the outside of a post and Said Benrahma's dipping second-half effort that flashed narrowly wide were West Ham's most dangerous efforts.
It was a disappointing outcome for David Moyes' men, although having performed brilliantly in Lyon to reach the last four, they do have hope when they travel to Frankfurt for the return.
Bubbles burst inside a minute
The stadium announcer proclaimed it the biggest football game at this stadium in the decade since it was opened - even if West Ham only took residency four years later.
Nothing about the build-up suggested otherwise. The pre-match rendition of 'I'm Forever Blowing Bubbles' was raucous. The noise that followed it immense.
That it took less than a minute for Eintracht to hit the mute button was a crushing disappointment.
As they went on to prove, the visitors were a menace on the counter-attack.
Still, despite Rafael Borre being given too much space to turn inside the West Ham box, the situation seemed to be under control. But Pablo Fornals lost Knauff at the crucial time and as the cross floated to the far post, it was the German who had the momentum to knock it in.
The 20-year-old was a scorer in the first leg of Eintracht's memorable victory over Barcelona in the previous round and could easily have had another as the ball broke kindly from an Aaron Cresswell tackle but his shot on the turn went just over.
It was the start of a pattern, West Ham building patiently for little reward, Eintracht moving the ball quicker in response and threatening the home goal.
Zouma's return from an ankle injury should have brought additional solidity to West Ham's defence.
As it turned out, it was their weak point.
Cresswell looked particularly unnerved by the early goal and while the flowing move that carried Eintracht into the penalty area for their second was eye-catching enough, the lack of a challenge was glaring.
Kamada was fortunate the rebound from Alphonse Areola's save fell kindly for him but, as the saying goes, you make your own luck.
Had the Japanese midfielder found the net when his curling shot flicked off Craig Dawson as the visitors threatened again, West Ham's hopes of getting through would have been virtually over.
As it happens, while Eintracht have been unbeaten away from home in this competition, they have only won once in five attempts at Waldstadion, although, admittedly, they are yet to lose, something West Ham have to change.
'Maybe we don't quite have the quality for this level' - what they said
West Ham manager David Moyes said: "Disappointing result but there's another game to play. Hopefully we play better in the second-leg. We didn't show enough quality in the final third. We switched off for the goals.
"Tonight was the worst for two years as far as set pieces are concerned. It has been a really strong part of our game but tonight we were really weak. Maybe we don't quite have the quality at times for this level. We have showed it at times.
"We didn't start the first or second half so well. They scored within a minute, which was a terrible start. Sometimes the opposition makes it hard. Tonight our creative players did not do enough when we had opportunities."
West Ham Tomas Soucek midfielder said: "We are disappointed with the result but we have a chance for the second leg. We didn't show up good enough today.
"We know we need to win but we can be confident. For many players, the second leg will be one of the biggest games of their lives because it is one step from the final. We have to win. We need to be ready from the first minute of the second leg."
- 10LanziniSubstituted forBenrahmaat 66'minutes
- 35Silva Melo
- 13HintereggerBooked at 81mins
- 8SowBooked at 79mins
- 29LindstrømSubstituted forHaugeat 62'minutes
- 19BorréSubstituted forAcheat 90+3'minutes
- 24da Costa
- 39Mendes Paciência
- Serdar Gözübüyük
- Shots on Target
Second Half ends, West Ham United 1, Eintracht Frankfurt 2.
Substitution, Eintracht Frankfurt. Ragnar Ache replaces Rafael Borré.
Attempt missed. Tomas Soucek (West Ham United) header from very close range is high and wide to the left. Assisted by Pablo Fornals with a cross following a corner.
Corner, West Ham United. Conceded by Tuta.
Jarrod Bowen (West Ham United) hits the bar with a left footed shot from the centre of the box. Assisted by Declan Rice with a cross.
Corner, West Ham United. Conceded by Almamy Touré.
Attempt blocked. Jarrod Bowen (West Ham United) header from the centre of the box is blocked. Assisted by Saïd Benrahma with a cross.
Foul by Kurt Zouma (West Ham United).
Rafael Borré (Eintracht Frankfurt) wins a free kick in the attacking half.
Corner, West Ham United. Conceded by Ansgar Knauff.
Attempt blocked. Sebastian Rode (Eintracht Frankfurt) right footed shot from outside the box is blocked.
Martin Hinteregger (Eintracht Frankfurt) is shown the yellow card for a bad foul.
Jarrod Bowen (West Ham United) wins a free kick on the right wing.
Foul by Martin Hinteregger (Eintracht Frankfurt).
Djibril Sow (Eintracht Frankfurt) is shown the yellow card for a bad foul.
Tomas Soucek (West Ham United) wins a free kick in the defensive half.
Foul by Djibril Sow (Eintracht Frankfurt).
Attempt blocked. Daichi Kamada (Eintracht Frankfurt) right footed shot from the left side of the box is blocked. Assisted by Rafael Borré.
Attempt missed. Saïd Benrahma (West Ham United) right footed shot from the left side of the box is high and wide to the right. Assisted by Declan Rice.
- Our coverage of West Ham United is bigger and better than ever before - here's everything you need to know to make sure you never miss a moment
- Everything Hammers - go straight to all the best content