Celtic took a giant stride towards reclaiming the Scottish Premiership title after battling back to beat Rangers at Ibrox and move six points clear of their rivals.
Aaron Ramsey's opener was cancelled out inside seven minutes by Tom Rogic's close-range strike, before the leaders took control when Cameron Carter-Vickers forced home after a free kick.
The second-half was delayed after broken glass was thrown on the pitch but when play eventually resumed, Rangers could not find a leveller.
Giovanni van Bronckhorst's side tried to fight their way back as they faced a potentially knockout blow in their title defence but were met with stiff resistance as Celtic clung to a vital victory, with Joe Hart only forced to make one key save.
Substitute Liel Abada also passed up two chances to seal it for the visitors, with Allan McGregor pulling off an incredible stop to deny the Israeli's second attempt.
With a six-point lead and a 15-goal advantage with six games to play, Ange Postecoglou's men are in a commanding position to win the league, even with one more derby to come at Celtic Park.
More to follow.
helpHow to play
Rate players out of 10 throughout or after the game. The rater will close 30 minutes after the final whistle.
Rating range key1 = Give it up10 = Pure perfection
Rangers
Squad number1Player nameMcGregor
Squad number2Player nameTavernier
Squad number6Player nameGoldson
Squad number26Player nameBalogun
Squad number3Player nameBassey
Squad number4Player nameLundstram
Squad number8Player nameJack
Squad number17Player nameAyodele-Aribo
Squad number16Player nameRamsey
Squad number14Player nameKent
Squad number25Player nameRoofe
Squad number30Player nameSakala
Squad number37Player nameArfield
Celtic
Squad number15Player nameHart
Squad number88Player nameJuranovic
Squad number20Player nameCarter-Vickers
Squad number4Player nameStarfelt
Squad number3Player nameTaylor
Squad number18Player nameRogic
Squad number42Player nameMcGregor
Squad number41Player nameHatate
Squad number17Player nameJota
Squad number7Player nameGiakoumakis
Squad number38Player nameMaeda
Squad number6Player nameBitton
Squad number11Player nameAbada
Squad number14Player nameTurnbull
Squad number33Player nameO'Riley
Squad number56Player nameRalston
Line-ups
Rangers
Formation 4-2-3-1
1McGregor
2Tavernier6Goldson26Balogun3Bassey
4Lundstram8Jack
17Ayodele-Aribo16Ramsey14Kent
25Roofe
1McGregor2Tavernier6Goldson26Balogun3Bassey4LundstramBooked at 41mins8JackSubstituted forArfieldat 66'minutes17Ayodele-Aribo16RamseySubstituted forSakalaat 66'minutes14Kent25RoofeSubstitutes
5Helander9Diallo10Davis18Kamara19Sands30Sakala31Barisic33McLaughlin37ArfieldCeltic
Formation 4-3-3
15Hart
88Juranovic20Carter-Vickers4Starfelt3Taylor
18Rogic42McGregor41Hatate
17Neves Filipe7Giakoumakis38Maeda
15Hart88Juranovic20Carter-VickersBooked at 65mins4Starfelt3TaylorSubstituted forRalstonat 71'minutesBooked at 88mins18RogicSubstituted forO'Rileyat 62'minutesSubstituted forTurnbullat 76'minutes42McGregor41HatateSubstituted forBittonat 62'minutesBooked at 82mins17Neves FilipeSubstituted forAbadaat 76'minutes7GiakoumakisBooked at 64mins38MaedaSubstitutes
6Bitton11Abada14Turnbull16McCarthy19Johnston21Ideguchi29Bain33O'Riley56RalstonReferee:William CollumAttendance:50,023Live Text
Match ends, Rangers 1, Celtic 2.
Second Half ends, Rangers 1, Celtic 2.
Offside, Rangers. Leon Balogun tries a through ball, but Kemar Roofe is caught offside.
Foul by Calvin Bassey (Rangers).
Liel Abada (Celtic) wins a free kick in the defensive half.
Attempt missed. Kemar Roofe (Rangers) header from the centre of the box misses to the left. Assisted by Calvin Bassey with a cross.
Calvin Bassey (Rangers) wins a free kick in the defensive half.
Foul by David Turnbull (Celtic).
Attempt saved. Joe Ayodele-Aribo (Rangers) left footed shot from the left side of the box is saved in the bottom left corner. Assisted by James Tavernier.
Anthony Ralston (Celtic) is shown the yellow card for a bad foul.
Ryan Kent (Rangers) wins a free kick on the left wing.
Foul by Anthony Ralston (Celtic).
Attempt missed. Connor Goldson (Rangers) header from the centre of the box is close, but misses to the right. Assisted by James Tavernier with a cross following a corner.
Corner, Rangers. Conceded by Carl Starfelt.
Attempt missed. Kemar Roofe (Rangers) right footed shot from the centre of the box is high and wide to the right. Assisted by Connor Goldson with a cross.
Attempt blocked. Ryan Kent (Rangers) left footed shot from the right side of the box is blocked. Assisted by Fashion Sakala.
Nir Bitton (Celtic) is shown the yellow card for a bad foul.
John Lundstram (Rangers) wins a free kick in the defensive half.
Foul by Nir Bitton (Celtic).
Corner, Celtic. Conceded by Allan McGregor.