Eintracht Frankfurt beat 10-man West Ham United 1-0 in their Europa League semi-final second leg on Thursday to reach their first European final in 42 years with a 3-1 aggregate victory.
In front of a deafening 48,000 crowd, Rafael Borre drilled in the winner for the hosts in the 26th minute, beating the English club for a second time following a 2-1 triumph in the first leg last week.
West Ham, who played most of the game with 10 men after left back Aaron Cresswell was dismissed for a professional foul on Jens Petter Hauge in the 17th minute, were toothless throughout.
Their manager David Moyes was also sent off in the 79th minute for angrily kicking a ball in a frustrating and scrappy end to West Ham's European run this season.
It had not started well for Frankfurt, though, with defender Martin Hinteregger taken off after only eight minutes with a hamstring injury.
But the dismissal of Creswell opened up space down the wing for the Germans and Ansgar Knauff made the most of it when he charged through and delivered a perfect ball for Borre to score.
West Ham hardly got a look in and their best chance came a minute from halftime when Kurt Zouma's close-range effort was cleared off the line.
They were equally ineffectual after the break with Moyes's frustration boiling over when he kicked the ball at a ball boy who he thought was trying to waste time.
With the homes fans kicking off celebrations in the stands early for what turned out to be a memorable evening for the club struggling in mid-table in the Bundesliga, Eintracht comfortably held on to their lead.
John Lundstram struck 10 minutes from time to give Rangers a 3-1 win over RB Leipzig and send them into the Europa League final 3-2 on aggregate after a see-saw clash at a rocking Ibrox.
Goals from James Tavernier, Glen Kamara and Lundstram ensured Rangers moved to the final for the first time since 2008, where they will face Eintracht Frankfurt, bidding to win a second European trophy 50 years after the 1972 Winners' Cup.
Captain Tavernier opened the scoring in the 18th minute, becoming the Europa League's top scorer this season with his seventh goal, before midfielder Kamara's long-range effort six minutes later extended the lead.
Leipzig, who won the first leg 1-0, hit back when forward Christopher Nkunku received a perfect cross from Angelino to score in the 70th minute but Rangers claimed the vital goal when a defensive mix-up after a corner allowed Lundstram to sweep the ball home.
Frankfurt are 11th in the Bundesliga and Rangers have already knocked out the German league's second-placed Borussia Dortmund and fifth-placed Leipzig this season. Agencies