Saints got back to winning ways with a fine 2-1 victory over Hearts at The SMiSA Stadium.
Saints led at the break after an action packed first half. The battle of the Taylors was won by Richard, the Buddie getting the better of Gerald to head Saints in front. Craig Halkett's header brought the Jambos the lead before Toyosi Olusanya's rich vein of form continued as he fired Saints back in front.
Alex Gogic went close to extending the lead in the second half with sub Kevin van Veen going close to opening his Saints account on a couple of occasions. In stoppage time, Roland Iodwu could have got the third only to be denied by Craig Gordon, but it proved irrelevant as the Buddies took all three points.
Killian Phillips returned to the Saints line-up as he replaced Roland Idowu. He dropped to the bench, where he was joined by returning Buddie Charles Dunne. Former Saints loanee Lawrence Shankland led the Hearts attack with veteran keeper Craig Gordon in goal.
Marcus Fraser had to block Blair Spittal's efforts after less than 20 seconds as the visitors looked to make a fast start, Spittal then heading over from a Shankland cross. Despite the Jambos making the early inroads, it was Saints who took the lead after just seven minutes when Mark O'Hara delivered a perfect cross and Richard Taylor sent a fine header well beyond the reach of Gordon. Gerald Taylor seemed to have come off worse as he challenged for the ball – and may even have got the final touch for the goal - but for once VAR didn't get involved.
Jorge Grant fired over from the edge of the box as Hearts looked for a quick leveller before tempers began to flare, Toyosi Olusanya being booked after a collision with Gordon. It was another corner that provided the equaliser, James Penrice's cross being met with a wonderful Halkett glancing header that sent the ball spinning across goal into the far corner.
Saints were back in front little more than 10 minutes from the break. Stephen Kinglsey had just been booked for pulling back the forward as he tried to burst forward and when Gogic floated the free-kick into the final third, Phillips flicked it on and Olusanya got past his man before gleefully lashing the ball into the top corner for his sixth goal of the season. Penrice tried to level things up again before the interval but his drive was parried away by Ellery Balcombe.
Kenneth Vargas tried a speculative shot from a tight angle that almost turned into a great cross for Shankland as Hearts threatened early in the second half, Olusanya then firing wide after getting onto Mark O'Hara's flick. The visiting fans appealed for a penalty as Vargas went flying when he tried to get onto the end of a cross but nothing was given before.
Saints fans thought their side had scored a third when Gogic got on the end of Caolan Boyd-Munce's wicked corner but he was narrowly off target. Kevin van Veen, who'd come on for Olusanya during a triple substitution also went close as he volleyed across goal and wide from a narrow angle. The Dutchman should then have wrapped things up when he picked up a misplaced Kingsley pass and headed for goal, doing the hard part by getting the better of Daniel Oyegoke only to drag his shot wide.
Ironically, that chance came while Hearts enjoyed their brightest spell and Shankland went close to equalising when he poked Alan Forrest's cross wide. The Jambos skipper felt he should have had a corner and made his case a little too e enthusiastically for Mr Robertson's liking and he was booked. As the game entered the final minute the ball broke to Hearts sub Yutaro Oda from a corner and hos volley wasn't far from finding the top corner.
Idowu, who'd replaced Boyd-Munce, almost sealed things in injury time as he dribbled into the box before being denied by a great Gordon save but it didn't matter as Saints comfortably saw out the final few minutes.
Full-Time: St Mirren 2-1 Hearts
St Mirren: Balcombe, Fraser, Gogic, R.Taylor, Rooney, Phillips (Smyth 69), Boyd-Munce (Idowu 84), O'Hara (c), Brown (Tanser 46), Mandron (Van Veen 69), Olusanya (Scott 69)
Subs Not Used: Urminsky, Bwomono, Dunne, Ayunga
Hearts: Gordon, Spittal (Dhanda 70), Halkett, Kingsley, Penrice (Forrest 77), Grant (Boyce 76), Baningime, Boateng, G.Taylor (Oyegoke 46), Vargas (Oda 63), Shankland (c)
Subs Not Used: Clark, Devlin, Rowles, Drammeh
Referee: Don Robertson
Assistant Referee: Jonathan Bell
Assistant Referee: Graham McNeillie
Fourth Official: Peter Stuart
VAR: Steven McLean
Attendance: 7,341