Rangers headed into extra-time with their European future, and that of their manager Alex McLeish, hanging by a thread, before finally sealing victory in a penalty shoot-out. Rangers finally levelled the aggregate 20 minutes from time through Dado Prso.
Inside the first minute the visitors caught their hosts cold with a quickly taken free-kick that allowed Gustavo Manduca a free run. His cross towards Leo Lima was blocked by the efforts of Zurab Khizanishvili and Stefan Klos. The home side sorted themselves out and Dado Prso might have opened the scoring after eight minutes but he delayed far too long.
In a whirlwind start to the second half Marcos again foiled the home team with an outstanding save from a close-range Novo header. Rangers were refused a decent penalty appeal after Paolo Vanoli seemed to be tripped by Antoni Ferreira and Novo had a fresh air swipe after Marcos spilled a Prso shot.
Change was needed by Rangers but when it came it was in the enforced shape of Gregory Vignal for Vanoli. Four minutes later Rangers finally made the breakthrough. Vignal's cross, the merest of touches by Thompson and Prso turned brilliantly and swept a fine shot wide of Marcos.
Prso had the ball in the net again after 80 minutes from a Ricksen pass. It was disallowed for offside.
Maritimo won a corner straight away in extra time but although Rangers were able to clear they were soon back on the defensive. Later Ricksen set up Novo in the box but the striker's shot was deflected behind for a corner that Thompson met with an on-target header that Marcos was able to catch comfortably.
The first penalty shoot-out in a European tie at Ibrox began with Novo scoring first. Chainho's effort was saved by Klos, Prso made it 2-0. Silas was next and he was successful. Arveladze's effort was saved by Marcos.
Ferreira failed to make it 2-2 though as he hit the bar. Thompson put Rangers 3-1 up to heap the pressure on Leo Lima but he was successful. Vignal stepped up and sent Marcos the wrong way to win the shoot-out for Rangers 4-2.
RANGERS: Klos, Ross, Khizanishvili, Boumsong, Vanoli (Vignal 66), Burke (Arveladze 96), Malcolm (Hughes 80), Ricksen, Prso, Thompson, Novo. Subs Not Used: Graeme Smith, Andrews, Lovenkrands, McCormack. Booked: Hughes. Goals: Prso 71.
MARITIMO: Marcos Oliveira, Ferreira, Van der Gaag, Tonel, Briguel, Alan (Silas 67), Wenio, Chainho, Bino (Luis Filipe 72), Manduca (Souza 84), Leo Lima. Subs Not Used: Nelson, Evaldo, Fernando, Joel Santos. Booked: Leo Lima, Souza, Van der Gaag.
Referee: Vladimir Hrinak (Slovakia).