Rangers 2 Celtic 3
Substitute Odsonne Edouard's fantastic finish gave 10-man Celtic a dramatic 3-2 win over Rangers in a classic Old Firm match at Ibrox
Gers midfielder Josh Windass opened the scoring in the third minute following a nightmare mistake by returning Hoops defender Dedryck Boyata.
Parkhead midfielder Tom Rogic levelled eight minutes later before Portuguese winger Daniel Candeias restored the Light Blues' lead with a powerful drive only to see Celtic striker Moussa Dembele equalise just before the break.
Hoops defender Jozo Simunovic was shown a straight red by referee Willie Collum for using an arm to brush off Gers striker Alfredo Morelos in the 56th minute.
It was left to Edouard, 20, on loan from Paris St Germain and on for James Forrest, to curl in the winner in the 69th minute and take the visitors nine points clear of the Gers at the top of the Ladbrokes Premiership with a game in hand.
Victory for Celtic was a statement win by the champions who had keeper Scott Bain making his debut after joining on loan from Dundee in January, in place of the injured Dorus de Vries.
Boyata was back after recovering from a groin complaint, Kristoffer Ajer moving to right-back.
On-loan Brighton winger Jamie Murphy and left-back Declan John both returned from injury for the home side while Wes Foderingham was back in goal.
It was Bain's first game since October and effectively his first job was to pick the ball out the net.
The hesitant Boyata was robbed 35 yards from goal by Windass who drove in on goal and clipped the ball high past the Celtic debutant.
Gers' early joy evaporated in the 11th minute when Rogic got away from midfielder Sean Goss and curled a drive from 20 yards past the flailing Foderingham.
Rangers defender David Bates, caught on the ankle by the Australian's follow through, was taken from the field on a stretcher, replaced by Fabio Cardoso.
In the 25th minute Ajer headed a Callum McGregor corner back across goal and Simunovic moments before Rangers restored their lead.
Murphy's pass down the flank for the ever-willing John and his lofted cross bypassed Morelos to Candeias who rifled a right-footed shot back across Bain and into the far corner of the net.
Celtic steadied again and put on the pressure with Foderingham making saves from Dembele and McGregor.
However, just before the interval a long ball from Celtic skipper Scott Brown under pressure from Candeias in his own half saw Dembele race past Gers defender Bruno Alves and lob Foderingham for the leveller.
It was a relatively quiet start to the second-half until Simunovic clashed with Morelos and was sent off, with stopper Jack Hendry soon coming on for Rogic as Rodgers reshuffled, Edouard coming on for Forrest.
With the numerical advantage Rangers went all out for the winner and in the 69th minute another Boyata mistake allowed Morelos through but Bain parried his angled-drive and the Hoops escaped.
Moments later, in a swift Celtic breakaway, Dembele played in fellow French striker Edouard and from just inside the box he stepped inside Goss before bending his shot past Foderingham.
The Parkhead side pulled out all the stops to defend their lead. In the 87th minute Windass' shot was saved by Bain and the ball fell to Morelos, who somehow could only hit the post from close range and the ball fell kindly to the Celtic goalkeeper.