Pace-setting Hearts dropped points for only the second time this season and their 2-2 draw in Paisley, coupled with Celtic’s 4-0 home win over Falkirk, cut the gap between the clubs to six points.

Earlier, Hearts were unchanged for the sixth game in a row, head coach, Derek McInnes, feeling the team was in a good place ahead of the game at the SMISA Stadium, but St Mirren are a formidable force on their own pitch.

It was the visitors who threatened first with Claudio Braga firing a left foot shot low. It was saved.

Braga and Alexandros Kyziridis were causing problems down the left but The Buddies broke and Mikael Mandron’s cute flick to Declan John sent the latter down the left. He flighted a ball towards Alexander Schwolow but the German rose to collect.

His opposite number, Shamal George, was then in action, saving from a Harry Milne ball to the near post, then minutes later, Beni Baningime found space in the Saints box and sent a right foot shot against the post.

Play ranged from end-to-end and Stephen Kingsley had to be sharp to deny the home side then Kyziridis sped down the left and sent the ball into the box for Braga to dive and head goalwards. George collected.

Stephen Robinson, Saints’ manager, looked on from the stand as he served a ban and Kingsley picked up a loose ball just outside the home box and fired for goal, but George saved comfortably at head height and then Lawrence Shankland tested the goalkeeper from an acute angle.

Kyziridis and Braga combined again and forced a corner which was comfortably cleared, but Saints shocked the league pace-setters when a long ball from goalkeeper George into the Jambos box was not cleared leaving Dan Nlundulu to acrobatically fire home, his second goal in two games. Time 28 minutes.

St Mirren powered forward looking for another and a flowing move involving several players ended with Conor McMenamin firing over.

Hearts re-grouped and Kingsley hooked the ball into the area. It was not cleared and Shankland (pictured) pounced for his ninth of the season. Time 34minutes, six minutes after going behind.

Robinson’s men resumed their offensive as both teams worked hard to gain an upper hand. It was physical and Miguel Freckleton was the first player to earn a yellow card for a robust challenge into the back of Oisin McEntee. He was quickly followed by Craig Halkett for his tackle on Mark O’Hara, Saints skipper, as the match continued at a fast tempo.

Kingsley found space on the left and he fed Shankland near the penalty spot with a high cross but the skipper sent his header wide, much to the disappointment of the 1,600 Hearts fans who had made the trip to Paisley.

Shankland was then found by Milne but he failed to test George from an angle on the right, then the skipper tried to slip Braga in only for the ball to be blocked by defender Marcus Fraser. Hearts claimed a penalty but the referee waved the appeals away.

The scoreline stayed that way to the break and, after the re-start, Hearts patiently probed until Shankland found space down the right but he was off target at the near post and Mandron fired for goal. The ball spun off McEntee for a corner. It was headed clear by Halkett as St Mirren hemmed the visitors into their own half.

Robinson’s men dominated possession at this point and Killian Phillips tested Schwolow from near the penalty spot. The goalkeeper palmed the ball over for a corner but a goal looked on the cards and it arrived when the Jambos failed to clear and it was sent home by Freckleton after 55 minutes.

Hearts would now have to come from behind to preserve their unbeaten run and George got himself into a fankle but the ball was eventually cleared. Milne then became the third player into the book as frustration grew in the Maroon ranks.

And it got worse when St Mirren counted again after slackness in the rearguard caused by a ball into the box and a free header which hit the left-hand post and bounced across goal only for Freckleton to fire home from close range. However, referee Nick Walsh was advised to go to the pitch side monitor and the goal was ruled off for offside, an unpopular decision for home fans who chanted “cheat, cheat”.

It was certainly a let-off for the Men in Maroon and they responded, but Baningime fired over. McInnes introduced Pierre Landry Kabore for Kingsley to add more firepower but Hearts were struggling to threaten the Saints goal and it was Phillips who pressed for Robinson’s men but he slipped at the key moment.

The same player forced a diving save from Schwolow minutes later and the goalkeeper was in action again, diving to gather from another raid as St Miren chased a third goal. Hearts broke and Kyziridis cracked a great ball against the bar and Braga rose to nod home. Time 70 minutes. Score 2-2.

Back came Saints and St Mirren fans claimed for handball off Stuart Findlay as the clock ticked on. Hearts broke again and Kabore was involved in a move finished by Milne who earned a corner which was cleared.

Robinson made two changes with 16 minutes remaining and Hearts survived another break thanks to Schwolow following a Jonah Ayunga shot then Kabore’s touch let him down at the other end after being sent clear by Shankland.

And the same player had an interchange with Baningime but the move broke down on the edge of the box. Tomas Magnusson was introduced for Braga as McInnes tried to secure a win and Kabore had a shot blocked. Kyziridis forced George to dive to his left to save.

Seconds later and Hearts thought they were in front. The ball bounced around in the box and McEntee’s effort was blocked. The ball fell to Kabore who prodded home. Joy for the Jambos and the travelling fans until VAR was called in and the goal ruled out for offside against McEntee.

Five added minutes were signalled and Findlay headed over from a corner as the match raged on and Saints defended deeply, Kabore seeing his low shot blocked. Hearts then forced three corners but St Mirren held out.