Allan McGregor: Had little to do aside from one superb second half save. Kicked well and was active off of his line. 7

James Tavernier: Always the man for a European occasion, he popped up at the back post in keeping with tradition to break the deadlock. His constant height-hitting at this stage of European competition is in a word, remarkable. What a captain. 9

Connor Goldson: Had to play much of the game on a tight-rope given a harsh yellow card. Marshalled the defence superbly and stayed tight with Poulsen. A strong and dependable performance. 8

Calvin Bassey: Bassey has come a long way in a short space of time to start at a European semi-final in a position he’s only learned in recent months. Like Goldson, had to play the game on a tightrope but did so with maturity, always in the right spot positionally. 8

Borna Barisic: A reliable performance in a game of this magnitude felt worlds away for Barisic merely a month ago. However, the Croatian’s rebound ability is unquestionable. Trustworthy like the rest of his defence. 8

John Lundstram: So vitally important to Rangers’ journey to this point, he played a new role again, this time on the right side of a back three. Then moved into the midfield with the composure and nous that’s come to be expected. He’s been one of the main protagonists to reach this stage and therefore it was fitting he scored the goal that took Rangers to Seville. 9

READ MORE: Rangers instant reaction: Ibrox 12th man the hero as Gio's heroes reach Europa League Final

Ryan Jack: Made a couple of errors in possession that were followed up with superb defensive interventions. Anchored the midfield superbly and was always close to break up the action before being replaced around the hour mark. 8

Glen Kamara: Has endured an indifferent season while still deemed an integral part of the European set-up. Played an influential role to get his team up the park for the first score and finished superbly to make it two. His performance was a welcome reminder of just how good he can be and why a contract extension last year was met with such excitement. 9

Scott Wright: If you’d told supporters that Wright would be starting this tie a couple of months ago, few would’ve believed you. But Wright did his job, burst through the midfield well on a couple of occasions and popped up to receive the ball when necessary. Did has part and then some. 8

Joe Aribo: With Kemar Roofe not fit enough to make the matchday squad, Aribo was tasked with playing the false No.9 role once more. Could have added a third on the half hour and after a strong first-half showing, was replaced due to injury. 8

Ryan Kent: A stunning, incisive drive cut through the Leipzig defence and provided for James Tavernier to open the scoring on the night. Terrorised the visitors in moments and used the ball intelligently throughout. He is made for the big European stage. 9

Substitutes

Fashion Sakala: Came on in place of Aribo through the centre. Lack of movement at points was perplexing as he appeared off his team’s wavelength. 6

Leon Balogun: His introduction into the back three allowed John Lundstram to move up a line. Looked shaky for the ball but recovered for Rangers to win. 6

Scott Arfield: Helped his team by providing a stronger defensive presence on the right. 6