The win helped the German side to claim their first European trophy in 42 years.
Eintracht Frankfurt goalkeeper Kevin Trapp saved Aaron Ramsey’s penalty kick —- Rangers’ fourth —- while Eintracht Frankfurt were flawless in their execution.
The German side scored all their five kicks after the game had finished 1-1 following 120 minutes of play.
Super Eagles’ forward Joe Aribo had struck against the run of play in the 57th minute to give Rangers the lead.
He charged clear after a string of defensive errors and slid the ball past Trapp.
The Germans, unbeaten in the competition going into the final match and eyeing their first European title since 1980, bounced back.
Rafael Borre snuck in between two defenders to turn in a Filip Kostic cross in the 70th minute.
“We played 13 matches in Europe and we did not lose a single one,” said Eintracht coach Oliver Glasner.
“We took it step-by-step and at the end we were rewarded. I have no words to express what I feel for the players,” added the Austrian.
His side will now compete in next season’s UEFA Champions League despite finishing in 11th place in the Bundesliga.
Eintracht Frankfurt are the first Bundesliga team to win the Europa League, or its predecessor the UEFA Cup, since 1997 when Schalke 04 beat Inter Milan on penalty kicks.
Rangers had ended extra-time the stronger side, but two brilliant saves from man-of-the-match Trapp ensured the game went to the shootout.
That was where the superb technique and mental strength of the Germans won it.
There was a sizzling atmosphere inside the Sanchez Pizjuan stadium with Rangers and Eintracht Frankfurt supporters having piled into southern Spain’s largest city over the past few days.
Roared on by their raucous fans, Eintracht Frankfurt started aggressively, giving Rangers an early scare.
Their Japanese winger, Daichi Kamada, weaved his way deep into the penalty area, but Rangers goalkeeper Allan McGregor got down to foil him.
He was able to recover to deal with Djibril Sow’s effort from the loose ball.
McGregor was soon back in action, doing well to tip an Ansgar Knauff effort wide as the Germans enjoyed the better of the early exchanges.
Rangers were struggling to get a foothold in the game.
The Scottish side fired a warning when Aribo was given space to turn on the edge of the penalty box and his shot curled just wide of the far post.
Eintracht Frankfurt goalkeeper Trapp was then brought into action to palm over a John Lundstram header as the Scottish side ended the half looking more confident.
Rangers started brightly after the break and could have taken the lead when James Tavernier led a swift break down the right.
The ball fell to Ryan Kent at the back of the box but his hurried shot was sliced well wide.
Minutes later though, the Glasgow side grabbed the advantage.
Brazilian defender Tuta slipped as he tried to reach a poor header back from Sow, leaving Aribo to go through and confidently slip the ball past Trapp.
Eintracht Frankfurt responded with urgency and Kamada should have done better when he ran onto a flick over the top from Sebastian Rode but lifted the ball over the bar.
Jesper Lindstrom had a chance to score but his powerful shot was bravely blocked by Nigeria defender Calvin Bassey almost on the goalline.
The leveller came when the dangerous Kostic was allowed to fire in a low cross from the left.
Colombian Borre reacted quickest, sneaking in front of Bassey to steer the ball home.
Rangers recovered from the blow and both sides sought to win the game inside the 90 minutes but neither could stop the encounter from entering extra-time.
There was little between the two exhausted teams in the opening period.
But after the change around, Borna Barisic fired a long-range effort straight at Trapp and then Ajdin Hrustic drilled a shot just wide for Eintracht Frankfurt.
It was Rangers who went closest to winning the contest though, in the final minutes.
That was when substitute Kemar Roofe flashed a ball across the penalty box to Kent whose low shot was superbly blocked by Trapp.
The goalkeeper was alert again to keep out a free-kick from Tavernier to ensure the final went to penalty kicks, where the quality of the kicks was outstanding.
Just one player fluffed his lines as Ramsey’s soft effort was saved by Trapp after the first six shots had all found the net.
It came down to Borre to settle the contest and the Colombian, like all his team mates, kept his cool to set off the celebrations for the thousands of Germans in the stadium.