Eintracht Frankfurt overcame a late Barcelona charge to record one of the most famous results in their modern history.
Serbia international Filip Kostic converted a fourth minute penalty and added another in the 67th with a low drive after Rafael Borre thundered in their second goal in the 36th for a 4-3 aggregate victory and a sensational win at the Camp Nou.
The Catalans, pre-match favourites after a first leg 1-1 draw in Germany last week, missed a couple of chances with Pierre-Emerick Aubameyang but were far less threatening than their opponents who could have added to their tally.
They did score twice in stoppage time through a Sergio Busquets shot and Memphis Depay’s penalty after Frankfurt’s Evan N’Dicka was sent off but ran out of time for a third goal that would have forced extra time.
Eintracht, who last reached the semi-final stage in 2019 and are unbeaten away from home this season in the Europa League, will now face West Ham, 4-1 aggregate winners over Lyon.
Oliver Glasner’s team, currently in ninth place in the Bundesliga, got off to a perfect start when Eric Garcia brought down Jesper Lindstrom four minutes into the game and Kostic coolly sent Marc-Andre ter Stegen the wrong way from the spot.
Despite Barcelona taking control, it was the visitors who were more effective and scored again with Borre’s 25-metre missile that left Ter Stegen beaten.
Aubameyang should have done better three minutes after the restart when he failed to connect with an Ousmane Dembele cutback in front of goal.
Ter Stegen then temporarily kept them in the game when he stopped a shot from Lindstrom in the 58th but could do nothing when unmarked Kostic found himself with far too much space on the left and drilled in a shot past the keeper.
Barca’s two stoppage time goals came far too late for a team that had almost 70 percent possession but fewer (10) attempts on goal to their opponents (16).