RANGERS are through to the UEFA Cup final after an astonishing penalties win over Fiorentina in Italy.
The 10-man Light Blues were battered for 120 minutes at the Stadio Artemio Franchi and mustered barely a handful of chances to score themselves.
Even after sub Daniel Cousin was sent off, they hung on to draw 0-0 and take the match to spot-kicks against all the odds.
They fell behind when Barry Ferguson’s effort was saved but Neil Alexander stopped Fabio Liverani’s shot to make it 2-2 with two kicks left.
And after Christian Vieri then fired over the upright, Nacho Novo rolled in the winner to seal a place at the City of Manchester Stadium on May 14.
It was one of the most incredible nights in Rangers’ history and right up with the very best of them.
Zenit St Petersburg lie in wait now for the Ibrox club in their first European final since the Cup Winners Cup was won against Moscow Dynamo in 1972.
That means it is Walter Smith versus Dick Advocaat, the man who replaced him at the Gers a decade ago, for the trophy. What a final in prospect.
Having almost been ruled out of this game on Tuesday, David Weir recovered from a groin injury to take his usual place in defence beside Carlos Cuellar.
Ferguson and Kevin Thomson also started after missing the first leg through suspension, while Jean-Claude Darcheville was deployed as a lone striker.
Fiorentina made just one change to the side which turned out at Ibrox, with Marco Donadel replacing Zdravko Kuzmanovic on the right of midfield.
The hosts enjoyed the majority of possession and Cuellar had to react quickly to stop Adrian Mutu from giving his side the lead.
But that chance aside, the Italians never looked like scoring in the opening exchanges and Gers began to settle.
They also started getting more of the ball themselves and that frustrated a home support not known for their patience.
Riccardo Montolivo tried to spark Cesare Prandelli’s men into life with a long-range effort but it was easily held by Neil Alexander.
So too was a tame Mutu shot from the edge of the area after he used his right elbow to control the ball and it went unnoticed by Belgian referee Frank de Bleeckere.
Fiorentina were being restricted to shots from distance and Montolivo had a go again but in beating the keeper, he also cleared the crossbar.
Midfielder Montolivo was involved in most good things the Serie A side did and his cut-back gave them their best opportunity just before the half-hour mark.
But Mutu’s backheel was scrambled away and Weir blocked the Romanian moments later after Sasa Papac was wrongly penalised.
Rangers hadn’t had a shot on goal with the break fast approaching but suddenly, out of nothing, a sublime through-ball from Thomson played Ferguson in.
He turned back on himself and tried to tee up Darcheville but by then La Viola had players back and the chance was gone.
Back came the home team and Mario Santana and Giampaolo Pazzini could each have struck at corners but neither found the target.
Fiorentina turned the screw after half-time but both Martin Jorgensen and Mutu sent the ball high and wide.
Mutu then turned provider for Pazzini, who got away from Cuellar and steered a foot wide at the near post.
Rangers were being stretched and it seemed only a matter of time before the deadlock was broken.
Mutu was the main threat and although neither his header nor a free kick tested Alexander, he was getting closer.
Home captain Tomas Ujfalusi was too and his arching volley from 15 yards dipped fractionally too late to count.
Smith threw Cousin on for the quiet Darcheville but the ball kept going in just one direction, with another Montolivo attempt rolling wide.
Alexander was then called into action when Liverani rolled a free kick to Mutu and the former Ipswich keeper saved the ex-Chelsea man’s drive superbly.
Another Jorgensen half volley flew over and with that, Viola supporters were starting to get restless as just 15 minutes remained.
That coincided with a brief foray upfield by Gers, who initially applied pressure then got a shot in on goal at last.
It was Steven Davis who had the chance, the ball falling to him after Ujfalusi failed to clear his line.
But it was an awkward one to divert and although he was on target, it was a comfortable save for Sebastien Frey to make.
Prandelli replied by putting on Vieri and his first touch almost ended up in the net but the ball got caught under his studs and was cleared.
Back came Gers again. Whittaker dispossessing Montolivo and bringing a great save out of Frey with a 20-yard curler.
The game was opening up a bit more with just a few minutes to go and for the first time, Fiorentina looked rattled, almost surprised at Rangers mounting attacks.
But they ended regulation time strongest, with Liverani and Montolivo each having opportunties and coming close to converting.
Fiorentina continued to dominate in the first additional period, with Vieri and fellow substitute Kuzmanovic within inches of giving their side a lead.
Cousin was agonisingly close to providing the perfect response, firstly with a header that Frey saved then with a shot that was deflected and looped just over.
Just when it seemed Mutu was falling out of the game, he reminded everyone of his presence with a volley that needed Weir’s intervention to keep it out.
Gers were hanging on again and their cause wasn’t helped by Cousin’s dismissal 10 minutes from the end.
Referee de Bleeckere, who was poor all night and easily influenced by a partisan home crowd, wrongly gave a foul against the Gabon hitman.
It wasn’t the first time it had happened and Cousin took his frustration out on Liverani, their heads coming together and the Italian throwing himself to the ground.
De Bleeckere interepreted that as a headbutt and showed him a second yellow card, prompting an understandably furious reaction from the striker.
He is likely to be punished for the amount of time it took him to leave the field and being a man down left Rangers up against it.
Unbelievably, the visitors almost won it three minutes from the end when Frey flapped at Thomson’s corner and the ball bounced off sub Nacho Novo’s thigh.
Within seconds, Vieri missed three times at the other end when he should have scored and you just wondered if this game was destined to go Gers’ way.
Penalties came and when Kuzmanovic scored after Ferguson’s miss, the outlook was really bleak. Steven Whittaker and Montolivo both netted before Papac slotted home too.
But Alexander gave the Scots hope again when he tipped Liverani’s poor kick away and Hemdani struck to make it advantage Rangers.
Vieri blasted over and they were on the verge, with Novo claiming the glory to send the travelling support into ecstacy. Bring on Zenit!
FIORENTINA: Frey; Jorgensen, Gamberini, Ujfalusi, Gobbi; Donadel (Kuzmanovic 41), Liverani, Montolivo; Santana, Pazzini (Vieri 79), Mutu.
Subs not used: Avramov, Dainelli, Semioli, Osvaldo, Pasqual.
RANGERS: Alexander; Broadfoot, Cuellar, Weir, Papac; Davis (Novo 80), Ferguson, Hemdani, Thomson, Whittaker; Darcheville (Cousin 65).
Subs not used: G. Smith, Buffel, Boyd, Dailly, Faye.
Referee: Frank de Bleeckere (Belgium).