Dundee 2-2 Rangers
Mikel Arteta celebrates his crucial equaliser
A late Mikel Arteta penalty earned Rangers a point in an incredible match at Dens Park.
A Lee Wilkie own goal had Rangers ahead inside a minute and signalled the beginning of a nightmare game for the Scotland defender.
But Fabian Caballero put Dundee ahead with two fabulous strikes before half time.
Wilkie then proceeded to concede two penalties, both of which were missed by Barry Ferguson, before Dundee gave away a third spot kick, which Arteta tucked away to keep Rangers' noses slightly in front of Celtic in the title race.
Rangers settled the nerves with a dream start. From the kick off, Rangers strung a dozen passes together before Arthur Numan whipped in a cross from the left and Wilkie prodded the ball past his own keeper.
Still inside the first five minutes, Barry Ferguson might have doubled Rangers' lead after Ronald de Boer's lay-off found him on the edge of the box, but the captain's shot was straight at Julian Speroni.
Then Gavin Rae had a powerful drive well saved by Stefan Klos before Speroni denied Fernando Ricksen from close range.
Rangers had started well but found themselves back on level terms in 17 minutes when Caballero picked the ball up just outside the box before rifling a shot past Klos' despairing dive.
Rangers were denied a penalty in 22 minutes when Ricksen played a one-two with De Boer before going down under Rae's challenge, but referee John Rowbotham saw nothing amiss.
Rangers failed to learn the earlier lesson from Caballero when the Argentine striker picked up the ball just inside the Rangers half after 28 minutes and was allowed to run unchallenged to the edge of the box from where he unleashed another unstoppable shot past Klos.
Fabian Caballero strikes the first of two wonder goals
Ricksen headed over from eight yards out when he should have done better as Rangers looked desperately for an equaliser as half time approached.
They thought they had that leveller on the stroke of half time when De Boer headed past Speroni, but the goal was chopped off for offside.
Then Rangers were awarded a penalty after Wilkie was penalised for dragging down Mols, but Ferguson rattled the spot kick against the bar.
Ricksen had the first effort of the second half, forcing Speroni into a good save at his near post from a free kick.
The tempo of the game died in the second half and it was the 70th minute before either goal was threatened again, Ricksen having a goal-bound shot charged down.
Ten minutes later it required a superb saving tackle from Zurab Khizanishvili to deny Ricksen.
But Rangers were handed a lifeline when Wilkie barged Shota Arveladze inside the area, but incredibly this time Speroni saved Ferguson's effort.
The drama was not over, however, as from the resulting corner, Dave Mackay handled and it was left to Arteta to score from the spot.
Dundee: Speroni, Mackay, Khizanishvili, Wilkie,
Carranza (Milne 75), Rae, Smith, Nemsadze (Mair 90),
Hernandez Santos, Caballero, Lovell (Burchill 75).
Subs Not Used: Langfield, Novo.
Booked: Lovell, Hernandez Santos, Mackay.
Rangers: Klos, Muscat (Hughes 81), Malcolm, Moore, Numan,
Ricksen, Ferguson, Arteta, De Boer (Arveladze 67), Mols,
Lovenkrands (Caniggia 67).
Subs Not Used: McGregor, Konterman.
Booked: Muscat, Malcolm.
Ref: J Rowbotham