The match was marred by a scuffle on the final whistle
By Colin Moffat
Celtic's Jan Vennegoor of Hesselink scored an injury-time header to narrow the gap on Rangers to one point.
Shunsuke Nakamura fired Celtic ahead with a wonderful swerving shot, while Nacho Novo's strike levelled.
Carlos Cuellar was sent off for handling a net-bound Nakamura shot but the injured Allan McGregor was able to save Scott McDonald's spot-kick.
But the Celtic striker struck late on, while David Weir and Gary Caldwell saw red cards after a full-time melee.
A tumultuous evening ended with an ugly scuffle involving several players and Scotland colleagues Weir and Caldwell appeared to exchange blows.
Celtic captain Stephen McManus was also shown a yellow card after a match which has breathed new life into the title race.
With Rangers having played two games less than their closest challengers, Walter Smith's men remain strong favourites.
However, Celtic will take great heart from a stirring win and the teams meet again at Celtic Park on 27 April.
The game opened in typically frantic fashion, with the home side looking particularly anxious.
The opening 15 minutes were notable only for a series of bruising challenges, with Celtic's Paul Hartley picking up the game's first yellow card for a late lunge at Lee McCulloch.
However, after winning a sequence of corners, Celtic took the lead in spectacular fashion.
Nakamura, criticised for an anonymous display in the previous Old Firm clash, picked up a pass from Caldwell and the ball sat up nicely for the Japanese star to lash home a swerving strike from 25 yards.
McGregor had no chance at stopping the goal but the Rangers keeper did not look too convincing when he awkwardly pushed away a fierce cross from McDonald that may have been creeping in at the near post.
Rangers were struggling to get hold of the ball and when the visitors did get a sight of goal Jean-Claude Darcheville blazed a long-range shot high over the crossbar.
On the stroke of half time, Darcheville scampered on to a Steven Whittaker pass but his scuffed shot hit the covering Lee Naylor and found the side-netting.
Novo replaced defender Kirk Broadfoot at the break and the little striker wasted no time in making his mark.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.