Celtic restored their nine-point lead at the top of the Scottish Premiership after hitting back to beat 10-man Hibernian 3-1.
Rangers had closed the gap to six points with a 4-2 win at Motherwell in an earlier kick-off and Celtic left it late before sealing their 15th successive home league win this season and 19th in total.
Hibernian led 1-0 at the break despite the dismissal of Elie Youan for two yellow cards, with Josh Campbell converting a 39th-minute penalty.
Celtic levelled through Jota’s 52nd-minute spot-kick and Oh Hyeon-gyu put them in front in the 81st minute before fellow substitute Sead Haksabanovic scored a well-taken third in stoppage-time.
Rangers also fell behind in their game at Fir Park, where Motherwell striker Kevin van Veen tapped in after three minutes before goals from skipper James Tavernier and Fashion Sakala put the visitors ahead.
Well substitute Bevis Mugabi equalised for the home side, but Todd Cantwell notched his first Rangers goal and substitute Malik Tillman grabbed the fourth before home midfielder Callum Slattery was sent off for a second yellow card.
Aberdeen climbed to within four points of third-placed Hearts after beating them 3-0 at Pittodrie.
The contest was all but over by the interval, with the Dons three in front thanks to a double from the impressive Duk and a Mattie Pollock header, which secured them a fourth win in five matches.
Livingston halted their four-game winless run by beating second-bottom Ross County 2-1 at home.
Joel Nouble’s header and captain Nicky Devlin’s strike put Livi 2-0 up at half-time and Simon Murray’s scrappy second-half effort was not enough for County, who have lost four of their last five.
Mark O’Hara’s late penalty earned St Mirren a draw at bottom club Dundee United, who had taken an early lead through Steven Fletcher.
Kilmarnock climbed out of the relegation places after a 1-1 home draw against St Johnstone, for whom Drey Wright equalised after Joe Wright’s first-half opener.