Hyeongyu Oh scored a late winner as cinch Premiership leaders Celtic came from behind to beat third-placed St Mirren 2-1 at Parkhead.
Ryan Jack's early goal set Rangers on their way to a 5-0 win over Dundee in the delayed kick-off at Dens Park to stay within five points of Celtic.
Jamie McGrath netted a double as Aberdeen defeated Motherwell 4-2 at Fir Park while Hearts beat Livingston 1-0 at Tynecastle with a Kenneth Vargas goal.
Nicky Clark scored twice in the opening seven minutes as bottom club St Johnstone beat Kilmarnock 2-1 at McDiarmid Park.