Gary McKay-Steven, restored to the starting line-up in one of four changes made by head coach Robbie Neilson, fired home his fourth of the season to put Hearts in front in the 61st minute after a non-eventful first half.
Kingsley’s superb strike 15 minutes later secured a much-need victory after a tepid first-half performance from the Tynecastle side.
Not for the first time, the men in maroon had Gordon to thank for keeping them in it with a string of world-class stops before McKay-Steven’s opener. But the opening goal was a turning point, giving Hearts the lift they needed.
Ken Buchanan: Statue of Scottish boxing legend unveiled on Edinburghs’s Leith Walk
Robbie Neilson reveals Hearts' chances of a new signing for Zurich tie - plus Alex Cochrane and Craig Halkett injury update
Hibs debrief: Alarm bells in the stand (and defence); Tavares decision; ref's big calls
Former Hearts striker steps out of 'comfort zone' with move to Turkish top flight
How the Hearts players rated in the 4-1 victory over Dundee United
Kingsley’s free-kick, capping another solid performance from the left centre-back, took out the game beyond St Mirren’s reach.Midfielder Beni Baningime was stretchered off near the end with a knee injury, which could make him a doubt for the midweek trip to Celtic coming up. But the three points were secure by then.
Tinkering rather than wholesale change is what Neilson said was required after last week’s disappointing defeat at Motherwell, where the head coach felt his team were “bullied” into submission.
He had vowed to stick with the 3-4-3 formation that has generally served Hearts well over the course of the season, so it was no surprise to see the same shape being deployed.
What did change was the personnel. Boyce, McKay-Steven, Andy Halliday and Craig Halkett returned to the team as Neilson made four changes following last week’s disappointing defeat away to Motherwell.
Ben Woodburn, Josh Ginnelly and Alex Cochrane dropped to the bench, with Taylor Moore suspended after being sent off at Fir Park.
St Mirren’s away form has been impressive, just one defeat in seven Premiership games on the road coming into this one.
They clearly have a system and shape that works, and with five and sometimes six strung across the midfield they settled quickly, keeping possession better than Hearts in the first 20 minutes.
The first chances fell to Jim Goodwin’s side, Gordon pulling out two decent stops midway through the half to deny Eamon Brophy.
That sparked a brief response from the home team, but other than a Boyce shot that was deflected wide for a corner, the home team barely create a chance in the opening period.
Boyce did have one other opportunity in first-half injury time but took too long to get his shot away and Jak Alnwick’s save was routine.
Gordon had pulled off another sharp stop just before that to prevent Hearts from going into the interval a goal behind.
But there was more urgency about Hearts after the interval. Within a minute, McKay flashed in a cross for Mackay-Steven at the back post, his volley forcing Alnwick to come off his line and block from close range.
It was a missed opportunity, but it was an opportunity nonetheless and roused the Hearts support in anticipation of a better 45 minutes ahead.
It didn’t last, though, as Saints raced up to the other end and threatened three times in quick succession to take the lead.
Gordon again came to the rescue to beat away a fierce Jamie McGrath strike. Boyce then shinned one off the line to deny Marcus Fraser and the Scotland No1 came to the rescue again moments later, finger-tipping a long-range effort from Kyle McAllister over the bar.
Having weathered the storm, Hearts hit back instantly. After Michael Smith was denied by Alnwick, McKay cut in from the left and his cross deflected kindly into the patch of McKay-Steven inside the box. Left-footed, the winger rifled home low into the bottom corner. It was more or less his last involvement, Neilson replacing him with Ginnelly.
Hearts were on top by this point and Kingsley’s stunning 30-yard free-kick into the top corner in 75th minute sealed the three points.
It was a piece of quality that had been missing in the first half. But the three points were all that mattered and Hearts are now unbeaten in 10 competitive home matches this season.
After some inconsistent form on their travels, Hearts once again showed today that they’ll take some stopping at Tynecastle. Even when not at their best.
It doesn’t get any easier, with a trip to in-form Celtic next up in the Premiership on Thursday night (7.45pm). Hearts did beat them in the opening game of the season, but Ange Postecoglou’s team have improved markedly since then.
How they lined up
Hearts: Gordon; Souttar, Halkett, Kingsley; Smith, Baningime (Haring 85), Devlin, Halliday; McKay, McKay-Steven (Ginnelly 65), Boyce (Gnanduillet 80). Subs: Stewart, McEneff, Woodburn, Cochrane.
St Mirren: Alnwick; Shaughnessy, Dunne, Fraser; Tait, Power, McGrath, Flynn (Kiltie 80), Tanser (McAllister 34); Ronan (Dennis 72), Brophy. Subs: Lyness, Main, Erhahon, Millar.
Referee: Alan Muir
Message from the editor
Thank you for reading this article. If you haven't already, please consider supporting our sports coverage with a digital sports subscription.