Rangers suffered an agonising penalty shootout defeat in their fifth European final as Eintracht Frankfurt triumphed in an absorbing Europa League decider.
Rafael Borre crashed in the decisive spot kick after Aaron Ramsey was denied just moments earlier in front of a colossal Rangers support in the Ramon Sanchez Pizjuan Stadium.
Those fans had been euphoric when the Scots took the lead through Joe Aribo's ice-cool second-half finish in the sweltering cauldron in Seville.
However, Borre detonated raucous scenes in a jam-packed Eintracht end 12 minutes later as he steered in a soft equaliser to send this energy-sapping contest to extra time and penalties.
And Rangers' players crumpled to their feet as 11th-placed side in the Bundesliga prevailed in the shoot-out, executing five composed penalties to claim their second European trophy and a place in next season's Champions League group stages.
Under a humid Spanish sky, this one seemed written in the stars for Rangers. Their only previous win in Spain came in the 1972 European Cup Winners' Cup final, when the Barca Bears stormed past Dynamo Moscow for their first European trophy.
The pilgrimage to Seville in the hope of repeating the feat of Jardine, Stein, Greig and Johnstone was a long and arduous one.
It started in the Champions League qualifiers against Malmo last summer for the players and for the fans men, women and children who spilled into Seville from the four corners of the world to support them.
This was their chance to see the class of 2022 become immortal, and over 100,000 made the trip in hope and expectation.
Well before kick off, the ground swarmed with light blue. An original allocation of just under 9500 looked fanciful when the sides entered to a cacophony so loud it could wake the dead.
Around two thirds of the stadium swayed, rocked and roared with Scots, leaving their German counterparts and their flag display looking a little humble. Frankfurt were brighter on the pitch, though. They were quick and aggressive, while Rangers appeared nervous.
James Tavernier had flashes on the right, but the intensity which stung Dortmund, Braga and Leipzig was missing. Ansgar Knauff drew a tremendous save from Allan McGregor, then Djibril Sow went close as the German fans raised the noise level in appreciation.
Rangers retaliated through Joe Aribo. Time stopped dead as he wrapped his foot around the ball on the edge of the D. The sight of it flashing by the far post by a foot will race through his mind for a while yet.
Both teams exchanged jabs before Rangers, who survived a VAR penalty scare courtesy of a rash Connor Goldson lunge, landed an incredible blow.
Football may be a game of tactics, money and talent, but at times it can offer up the inexplicable. There's little explanation for Sow's flopped header towards his own goal. Or the stumble from Tuta which allowed Aribo to bustle in on goal.
The Rangers fans held their breath before bursting into the life as the ball hit the net. Giovanni van Bronckhorst punched the air and roared into the night sky.
Rangers were in control now and that will make the anguish of defeat hurt so much more. The slap in the face came just 12 minutes later, Borre stealing in between Connor Goldson and Calvin Bassey to force home a teasing but cheap cross.
Extra time beckoned as Eintracht went for a knockout blow, but Rangers - and their support - roused themselves and should have won it two minutes before penalties. Substitute Kemar Roofe charged to the goal-line and his deflected cutback fell for Ryan Kent with the goal gaping, but Kevin Trapp's wonder save expelled a giant gasp from the crowd. Taverneir's arcing free-kick in the dying seconds was also palmed away.
Ramsey was a late edition to the match with penalties in mind. The on-loan Juventus man had the opportunity to make it 4-3 in the shootout after Tavernier, Steven David and Scott Arfield slotted Rangers' first three kicks, but the Welsh midfielder's tame effort was whacked away by Trapp's trailing leg.
It would be the only miss of the shootout, as Rangers' marathon run in Europe came to the most agonising of ends in a flurry of white bedlam.
Man of the match - Calvin Bassey
Calvin Bassey was a hero for Rangers in Seville and througout this campaign. He didn't deserve to be on the losing sideWhat does this mean?
The golden glitter was still falling from the winners' podium as Rangers' players remained sat on their hunkers inside an emptying stadium. The haunted look on the face of McGregor told its own story. This is the cruellest of endings on what should have been the closing chapter of their finest ever moment.
The teams beaten along the way, and the manner in which they were dealt with, made this run iconic and at times defied logic. Money, tactics, superior players and reality went out the window as Borussia Dortmund were stormed by. Braga were overcome in extra-time drama, while the Ibrox roof nearly crashed in on itself as RB Leipzig were put to the sword.
This one will sting. With the game in their hands after Aribo's opener, Frankfurt, who knocked out Barcelona and West Ham, threatened to wilt under the pressure. Rangers had them, but the door was left open. The spurned chances at the death of extra time also offer a cruel pang of "what if" to the punched gut of emotions that will be churning its way through the Rangers team as their flight heads for Glasgow.
In time that will subside and they will rightly focus on the pride of a team from Scotland making it to a European final from so far back. It's an incredible feat.
Yet, with the Scottish Cup final in just three days, there will be little time for Van Bronckhorst's side to salve the sting of this one.
Match stats
Eintracht become the first German team to win the Uefa Cup/Europa League since Schalke in 1996-97.It is their second major European trophy, 42 years after winning the Uefa Cup against Borussia Monchengladbach.This was Rangers first shootout defeat in Europe since the 1999-00 Uefa Cup (v Borussia Dortmund in the round of 32).Rangers had four shots on target in the second half of extra time - double the amount they had in the first 105 minutesAribo's goal was his first in the Europa League this season. He became just the second Nigerian player to score in the final of a major European competition, after Alex Iwobi in the 2019 Europa League. McGregor became the oldest player to feature in a Uefa Cup/Europa League final (40y 107d). Meanwhile, he's just the third player aged 40+ to play in a major European final, after Dino Zoff in the 1983 European Cup (41y 86d), and Edwin van der Sar in the 2011 Champions League (40y 211d).More to follow.
Player of the match
BorréRafael Borré
Eintracht Frankfurt
Squad number19Player nameBorré
Squad number10Player nameKostic
Squad number15Player nameKamada
Squad number29Player nameLindstrøm
Squad number17Player nameRode
Squad number7Player nameHrustic
Squad number36Player nameKnauff
Squad number20Player nameHasebe
Squad number6Player nameJakic
Squad number25Player nameLenz
Squad number1Player nameTrapp
Squad number18Player nameTouré
Squad number8Player nameSow
Squad number2Player nameNdicka
Squad number23Player nameHauge
Squad number35Player nameTuta
Rangers
Squad number3Player nameBassey
Squad number17Player nameAyodele-Aribo
Squad number1Player nameMcGregor
Squad number10Player nameDavis
Squad number4Player nameLundstram
Squad number14Player nameKent
Squad number2Player nameTavernier
Squad number8Player nameJack
Squad number31Player nameBarisic
Squad number23Player nameWright
Squad number18Player nameKamara
Squad number6Player nameGoldson
Squad number37Player nameArfield
Squad number30Player nameSakala
Squad number25Player nameRoofe
Squad number19Player nameSands
Squad number16Player nameRamsey
Line-ups
Frankfurt
Formation 3-4-2-1
1Trapp
18Touré35Silva Melo2Ndicka
36Knauff17Rode8Sow10Kostic
29Lindstrøm15Kamada
19Borré
1Trapp18Touré35Silva MeloSubstituted forHasebeat 58'minutes2NdickaSubstituted forLenzat 101'minutes36Knauff17RodeSubstituted forJakicat 90'minutes8SowSubstituted forHrusticat 105'minutes10Kostic29LindstrømSubstituted forHaugeat 71'minutes15Kamada19BorréSubstitutes
6Jakic7Hrustic9Lammers20Hasebe21Ache22Chandler23Hauge24da Costa25Lenz27Barkok31Grahl39Mendes PaciênciaRangers
Formation 4-3-3
1McGregor
2Tavernier6Goldson3Bassey31Barisic
8Jack4Lundstram18Kamara
23Wright17Ayodele-Aribo14Kent
1McGregor2Tavernier6Goldson3Bassey31BarisicSubstituted forRoofeat 117'minutes8JackSubstituted forDavisat 74'minutes4Lundstram18KamaraSubstituted forArfieldat 90'minutes23WrightBooked at 73minsSubstituted forSakalaat 74'minutesSubstituted forRamseyat 117'minutes17Ayodele-AriboBooked at 62minsSubstituted forSandsat 101'minutes14KentSubstitutes
9Diallo10Davis16Ramsey19Sands25Roofe26Balogun28McCrorie30Sakala33McLaughlin37Arfield43King51LowryReferee:Slavko VincicAttendance:38,842Live Text
Match ends, Eintracht Frankfurt 1(5), Rangers 1(4).
Penalty Shootout ends, Eintracht Frankfurt 1(5), Rangers 1(4).
Goal! Eintracht Frankfurt 1(5), Rangers 1(4). Rafael Borré (Eintracht Frankfurt) converts the penalty with a right footed shot to the top left corner.
Goal! Eintracht Frankfurt 1(4), Rangers 1(4). Kemar Roofe (Rangers) converts the penalty with a right footed shot to the bottom left corner.
Goal! Eintracht Frankfurt 1(4), Rangers 1(3). Filip Kostic (Eintracht Frankfurt) converts the penalty with a left footed shot to the bottom right corner.
Penalty saved! Aaron Ramsey (Rangers) fails to capitalise on this great opportunity, right footed shot saved in the centre of the goal.
Goal! Eintracht Frankfurt 1(3), Rangers 1(3). Daichi Kamada (Eintracht Frankfurt) converts the penalty with a right footed shot to the top right corner.
Goal! Eintracht Frankfurt 1(2), Rangers 1(3). Scott Arfield (Rangers) converts the penalty with a right footed shot to the top left corner.
Goal! Eintracht Frankfurt 1(2), Rangers 1(2). Ajdin Hrustic (Eintracht Frankfurt) converts the penalty with a left footed shot to the bottom left corner.
Goal! Eintracht Frankfurt 1(1), Rangers 1(2). Steven Davis (Rangers) converts the penalty with a right footed shot to the top right corner.
Goal! Eintracht Frankfurt 1(1), Rangers 1(1). Christopher Lenz (Eintracht Frankfurt) converts the penalty with a left footed shot to the bottom right corner.
Goal! Eintracht Frankfurt 1, Rangers 1(1). James Tavernier (Rangers) converts the penalty with a right footed shot to the centre of the goal.
Penalty Shootout begins Eintracht Frankfurt 1, Rangers 1.
Second Half Extra Time ends, Eintracht Frankfurt 1, Rangers 1.
Attempt saved. James Tavernier (Rangers) right footed shot from outside the box is saved in the top right corner.
Aaron Ramsey (Rangers) wins a free kick in the attacking half.
Foul by Kristijan Jakic (Eintracht Frankfurt).
Attempt blocked. Scott Arfield (Rangers) right footed shot from outside the box is blocked.
Ryan Kent (Rangers) wins a free kick in the attacking half.
Foul by Almamy Touré (Eintracht Frankfurt).