A full summary of Saturday's Premiership results
Celtic thrashed league leaders Hearts, while Rangers moved up to third in the table.
Celtic 5-0 Hearts
Celtic thumped Hearts in Glasgow to move within a point of the league leaders.
Odsonne Edouard scored the opener after 18 minutes and shortly afterwards Filip Benkovic headed past Zdenek Zlamal to doble the hosts' lead.
Edouard scored his second from close range to give Celtic a healthy half-time lead and Brendan Rodgers' side added to it in the second half.
James Forrest finished neatly to score the fourth on the hour mark before Ryan Christie completed the scoring with a late penalty.
St Mirren 0-2 Rangers
St Mirren frustrated Rangers for 80 minutes but late goals from Daniel Candeias and Alfredo Morelos ensured three points for Steven Gerrard's side.
Candeias was then sent off after picking up a second yellow card as he shrugged off the attentions of Anton Ferdinand.
Hamilton 1-0 Livingston
Ten-man Hamilton bagged a precious three points at New Douglas Park.
Mickel Miller was sent off for a second booking with just five minutes to go but Accies response was to quickly score the only goal of the game.
Mason Bloomfield raced clear to slot a neat finish past Liam Kelly and sink Livi.
Hibernian 0-1 St Johnstone
St Johnstone leapt into the top half of the table with a hard-fought victory at Easter Road.
Danny Swanson had missed a penalty against his former employers but Joe Shaughnessy struck late on to earn the win for Tommy Wright's side.
Motherwell 1-0 Dundee
St Mirren's defeat earlier in the day gave Dundee the opportunity to move of the foot of the table but their miserable run continued with a loss at Fir Park.
Teenager David Turnbull had scored his first senior goal in midweek and the Motherwell youngster made it two in two with a powerful 25-yard goal on 69 minutes that settled the contest.