Rangers suffered defeat in the most painful possible fashion as they lost on penalties after a 1-1 draw in the Europa League final against Frankfurt.
Aaron Ramsey was brought on for the penalty shootout along with Kemar Roofe and missed his shot, firing straight down the middle into the legs of Kevin Trapp.
Joe Aribo opened the scoring in the 57th minute, to the joy of the Rangers fans, but a moment of quality from Filip Kostic provided Frankfurt with the chance to equalise, which they took at the near post through Rafael Santos Borre.
Calvin Bassey was superb in the second-half as the game ticked down to extra time, but a winner could not be found.
In extra time, both sides had their chances, but a late chance for Ryan Kent was perhaps the best of the lot following Roofe's clever forward play.
Sign up to Glasgow Live newsletters for more headlines straight to your inbox
That was with two minutes to play and was the last chance before the penalties which ended in devastating defeat for the tens of thousands of superb Rangers fans.
Frankfurt started the better of the two sides, troubling McGregor's goal with a series of long shots after John Lundstram risked a red card in the early stages with a high foot to the head of Sebastian Rode.
He could have certainly earned a yellow and a harsher ref could have called it as a red card but the semi-final hero went unpunished.
The German side's early dominance was relieved by the water break at the mid-point of the first-half at which stage Rangers began to assert themselves in midfield, making Frankfurt do the chasing.
Giovanni van Bronckhorst seemed happy to make his opponents chase the ball as Rangers had 58% possession in the first-half, but had little to show for it at the break as the sides went in 0-0.
The second-half began with either side attacking their respective set of fans as the tension began to rise. Connor Goldson was extremely lucky to avoid a VAR check for a foul in the area on Santos Borre.
This decision worked in Rangers' favour as they had their best chance through Ryan Kent soon after.
However, this attempt went wide but it would not be long before Rangers were on the attack once more. Aribo, deployed as a false number nine, seized upon a Frankfurt slip which saw him through on goal.
He kept his cool to give his side the lead, slotting the ball past Kevin Trapp to send the Rangers fans wild just before the hour mark.
Daichi Kamada missed a golden opportunity in the 65th minute and Rangers fans will have been excited about their chances, with the luck on their side.
However, in the 69th minute their hopes were dashed as a trademark Kostic cross made its way past all of the gathered Rangers defenders to score at the near post.
The water break soon followed before Steven Davis and Fashion Sakala were brought into the fray to try and re-establish Rangers' dominance.
Both teams continued to trade blows with varying effects as the match remained on a knife-edge heading into extra time, with Rangers' Calvin Bassey producing heroics by stopping a range of Frankfurt attacks.
Fresh legs could do little to prevent extra time, which is when Rangers began to show their fitness, looking the sharper of the two sides heading into the extra 30 minutes.
Both sides had chances in extra-time but were unable to find a winner despite a spirited effort.
Trapp was the hero late in extra-time, with Rangers on the ascendancy as Roofe made his first contribution by setting Kent in, but it was fantastic save from the former PSG man to force penalties.
All players scored their kicks apart from Ramsey, meaning that the title headed to Frankfurt in a devastating ending for the fantastic Rangers support.