Kevin Trapp made a crucial save at the end of extra time then kept out Aaron Ramsey's penalty in the shoot-out as Frankfurt triumphed.
Article top media content
Frankfurt have won their first European trophy for 42 years after overcoming Rangers 5-4 on penalties following a pulsating 1-1 draw in the UEFA Europa League final in Seville.
20' McGregor makes fingertip save from Knauff
26' Aribo fires just wide from edge of area
57' Aribo pounces for opener after Tuta's slip
69' Borré prods in Kostić cross to equalise
118' Trapp denies Kent with leg in dying moments
Pens Trapp saves only penalty of shoot-out from Ramsey
Match in brief: Trapp comes up trumps in clutch moments
The first period was a half of two halves with both sides eager to seize the upper hand. The 40-year-old Allan McGregor repelled an early effort from Daichi Kamada and made a fine fingertip save to deny Ansgar Knauff as the Eagles had the better of the opening 20 minutes, before Joe Aribo curled just wide and John Lundstram's header was tipped over by Kevin Trapp as Rangers rallied.
Frankfurt started the second half on the offensive but were rocked when Tuta lost his footing trying to react to Djibril Sow's header and Aribo raced away to calmly slide Rangers in front. Oliver Glasner's men refused to panic – a sign of confidence from a team yet to taste defeat in the competition this season – and duly equalised when Filip Kostić's low cross was prodded past McGregor by Rafael Borré.
Both sides continued to press for a winner in normal then extra time, but neither summoned the necessary guile or composure to break through and spare their fervent supporters the spectacle of a penalty shoot-out, Ryan Kent coming closest in the dying moments only for Trapp to produce the save of the match via an outstretched leg.
The Frankfurt goalkeeper would have the final say in the shoot-out too, saving from Aaron Ramsey to allow Borré the chance to seal the trophy for the German club and book them a first ever berth in the UEFA Champions League group stage.
Hankook Player of the Match: Kevin Trapp (Frankfurt)
A good performance over the 90 minutes, a great save at the end of extra time to keep Frankfurt in the game and a decisive penalty save in the shoot-out.
UEFA Technical Observer Panel
James Thorogood, Frankfurt reporter
A historic night for Frankfurt as they pick up their first major European trophy in 42 years to become the first German side to win this competition in the Europa League era. In an emotionally charged encounter that had all the hallmarks of a nervy final between two relatively inexperienced sides, it ultimately came down to who could hold their nerve in the shoot-out.
And what better way for Frankfurt to redeem themselves for their painful semi-final loss in 2018/19 as they triumphed on spot kicks to join Chelsea and Villarreal in winning the tournament with an unbeaten record. It is a night that will live long in the memories of both fans and players.
Alex O'Henley, Rangers reporter
The cruelty and joy of penalty kicks. It wasn't to be for Rangers and ended in particular disappointment for Ramsey, whose miss proved decisive in the shoot-out. It's a case of so near, so far for the Light Blues, but they can be proud of a remarkable rollercoaster ride in which they beat two Bundesliga sides on the road to Seville.
Unfortunately, they couldn't do it a third time in the final and must now regroup for a Scottish Cup showpiece and the Champions League qualifiers next season.
Oliver Glasner, Frankfurt coach: "Unbelievable! It was the 13th game in Europe and we didn't lose one. What the guys have done today and this season, I don't have the words and I am not often lost for words."
Kevin Trapp, Frankfurt goalkeeper: "We believed that we could do it, but you saw we had to dig deep for this win. We never gave up, we always believed. It was the most intense experience of our lives. This is not my night. It's everyone's night. It doesn't come down to one player; it comes down to a whole team."
Djibril Sow, Frankfurt midfielder: "We beat some of the biggest teams in the world on the way to this success. We knew today was going to come down to passion and commitment. We never gave up and now we're over the moon."
Giovanni van Bronckhorst, Rangers coach: "The players gave everything, but in the end it was a very tight game. It's a big disappointment; we were really so close to winning a trophy. When you win, you have memories that last forever – when you lose, it hurts."
James Tavernier, Rangers captain: "It's never nice to lose a game like that. I am proud of every single one of those lads in the dressing room and the journey we've been on. We just couldn't finish it off and we are all devastated."
Kenny Miller, BT Sport
"McGregor couldn't get near any of the penalties. It was an incredible standard, under severe pressure, for them to step up and execute as they did. The Rangers players have been excellent throughout their journey; they just fell short at the end. Trapp's had a big say in this game."
- Frankfurt and Rangers became the 17th and 18th clubs to take part in the Europa League final. They were also the first finalists from Germany and Scotland respectively.
- This is the first time the Europa League has been won by a team outside of Spain or England since 2010/11, when Porto defeated Braga.
- Frankfurt are the first Bundesliga team to win the UEFA Cup/Europa League since 1997, when Schalke beat Inter on penalties.
- Aribo is the only player to have appeared on all 15 Europa League matchdays this season (13 starts, two substitute appearances).
- Frankfurt have scored at least one goal in each of their 13 Europa League matches this season.
- This was the ninth UEFA Cup/Europa League final to go to extra time since the final was changed to a one-off fixture in 1998. Five of them have now gone to penalties.
- Frankfurt will play in the Champions League for the first time next season – their only season in UEFA's premier club competition previous was in 1959/60, when they made it to the European Cup final.
- The Eagles finished unbeaten in this season's competition (W7 D6) and became only the third team to go through the campaign without a defeat – after Chelsea in 2018/19 and Villarreal last season.
Frankfurt: Trapp; Tuta (Hasebe 58), Touré, N'Dicka (Lenz 100); Knauff, Sow (Hrustic 106), Rode (Jakić 90), Kostić; Lindstrøm (Hauge 70), Kamada; Borré
Rangers: McGregor; Tavernier, Goldson, Bassey, Barišić (Roofe 117); Jack (Davis 74), Lundstram; Kent, Wright (Sakala 74, Ramsey 117), Kamara (Arfield 90); Aribo (Sands 101)