Celtic leapfrogged Rangers to the top of the cinch Premiership with a 3-0 thumping of their Old Firm rivals at Parkhead.
In a frenetic first half, Reo Hatate marked his Old Firm debut by grabbing a stunning brace with Liel Abada adding a third with a skilful flick and had it not been for Rangers keeper Allan McGregor the rampant Hoops would have inflicted more damage.
With no travelling supporters inside the ground, Rangers looked a beaten lot at half-time and despite some improvement after the break a comprehensive and sobering defeat was confirmed by the final whistle.
It was a first loss for Rangers boss Giovanni Van Bronckhorst since he took over at the end of November and it was a sore one.
Ange Postecoglou's side are one point ahead of their fellow Glasgow giants and will look to motor on while Rangers, after losing three goals in a 3-3 draw at Ross County last weekend, have problems to solve.
The usual pre-match guessing games about team selections had to take into consideration injury, suspension and international duty.
Hoops captain Callum McGregor returned from a facial injury wearing a mask and Daizen Maeda was on the bench after returning from international duty but Kyogo Furuhashi, Nir Bitton, David Turnbull, Yosuke Ideguchi, Albian Ajeti and Tom Rogic were all missing, not that it mattered much in the final analysis.
Rangers striker Kemar Roofe came in for Cedric Itten but the visitors were without Alfredo Morelos, Ianis Hagi and Filip Helander.
Aaron Ramsey, who Rangers snapped up in a stunning transfer deadline loan deal from Juventus, was not considered.
The first midweek fixture between the two sides in just over 10 years and it took less than five minutes for Parkhead to explode with a noise that barely subsided.
Matt O’Riley’s corner from the left was cleared by Joe Aribo, clattering team-mate Calvin Bassey in the process, but the ball fell to Hatate who took a touch before sending a right-footed shot into the far corner of the net.
Bassey continued after treatment as Rangers were forced into pushing for a leveller but McGregor had to make three great saves, the first from Jota’s drive before he twice denied Giorgos Giakoumakis, blocking his header then saving his drive moments later.
Rangers could not impose themselves on the game and in the 26th minute the Greece striker had another close-range effort saved by McGregor.
It took until the 32nd minute for Rangers to test Celtic keeper Joe Hart and he easily saved Ryan Kent’s long-distance drive before the home side claimed for a penalty when Giakoumakis was challenged by Bassey inside the box, but referee Bobby Madden took no notice.
Four minutes before the break Hart was smart off his line to deny Scott Arfield and moments later Celtic were two ahead, Abada playing in Hatate who curled home a terrific shot from 20 yards.
Then, when Abada almost casually flicked in a cross from Hatate with a minute of the first half remaining, the game looked over.
Leon Balogun, Fashion Sakala and Ryan Jack replaced Amad Diallo, Glen Kamara and Borna Barisic for the start of the second half, in what looked an act of desperation.
In a rare Rangers attack in the 53rd minute, Arfield’s 25-yard shot cleared the bar.
Just after the hour-mark Giakoumakis and Abada made way for Maeda and James Forrest as Postecoglou added fresh legs.
Rangers had more of the game but the hosts remained in control and in the 72nd minute Hatate got a standing ovation when he was replaced by James McCarthy.
In the 79th minute Jack sent a thunderous shot from 30 yards crashing against Hart’s crossbar and in the final minutes McGregor had to tip an O’Riley free-kick over the bar before Connor Goldson headed over from close range at the other end.