Giorgos Giakoumakis rescued three points for Celtic as they beat St Johnstone 2-1 to remain top of the cinch Premiership.
The Saints thought they had snatched a point from the league leaders two minutes into stoppage time when Alex Mitchell cancelled out Andrew Considine’s own goal from the first half.
However, Celtic managed to salvage victory deep into added time when Giakoumakis scored from close range.
An Antonio Colak double made it three consecutive wins for Rangers as they beat St Mirren 4-0 to remain second in the table.
Colak put them in front four minutes in before captain James Tavernier doubled their lead from the spot.
Colak got his second of the game after the break and Fashion Sakala netted in stoppage time for a comfortable win for the hosts.
Hibernian move into third in the table after beating 10-man Motherwell 1-0.
Connor Shields was sent off for the Well in the 56th minute for a foul on Ryan Porteous, and Hibs edged to victory when Porteous headed home.
Ross County earned their first league win in seven games to move into 10th, with Owura Edwards scoring the only goal of the game to beat Livingston 1-0.