The Czech Republic international’s cultured left-foot was the source for two first-half goals – the first after a minute and 14 seconds and the second a curling free-kick after 24 minutes – and he struck a third in the second minute of stoppage time at the end of the game.
Saints had few chances of note and now have five points from nine matches this term and are still seeking their first points away from Paisley.
Skacel has now scored four times in four appearances since returning to Hearts for a second spell.
There were suggestions Skacel’s recruitment last month was at the behest of Hearts majority shareholder Vladimir Romanov, rather than at the request of manager Jim Jefferies.
But Jefferies will surely be a happy man after Skacel, who helped Hearts win the Scottish Cup in 2006 before departing for Southampton, earned a second straight win and a first win from five home games this term.
There also appeared to be progress in the contract impasse with Marius Zaliukas as the captain started a second straight game – the first, against Aberdeen last week, also ending in victory.
Zaliukas was named in an unchanged starting XI and little more than a minute after the start Skacel had fired Hearts in front from 20 yards.
Suso Santana beat his man down the right and forged forward before finding Kevin Kyle inside the area.
The striker laid the ball off for Skacel, who took a touch to steady himself before firing a low left-footed shot into the bottom corner.
Michael Higdon failed to connect well when presented with an eighth-minute opportunity by Kenny McLean as Hearts were almost caught unaware by the visitors.
Paul McGowan prodded an effort straight at Hearts goalkeeper Marian Kello following Higdon’s knock-down, with the hosts looking fragile at the back.
Hugh Murray was cautioned in the 18th minute for bringing down Santana, but Skacel’s delivery from the resulting free-kick could not find a Hearts head.
John Potter was penalised for blocking Calum Elliot in a dangerous position 20 yards out after 24 minutes, presenting Skacel with an opportunity from a free-kick.
And the midfielder this time did not disappoint, curling in from 20 yards to give Craig Samson no chance.
Hearts were content to allow St Mirren more possession but held the visitors at bay.
A loose ball then broke for Zaliukas to run the length of the field.
Urged on to shoot as he approached the edge of the visitors’ area, Zaliukas instead opted to play the ball to the left for Skacel.
The midfielder’s shot ricocheted off a Saints defender and against the bar.
Neither side could keep possession long enough early in the second half to fashion a meaningful chance.
Elliot could not find the target following a 54th-minute corner and then dragged a tame shot wide soon after.
Skacel, Eggert Jonsson and Santana then contrived to fluff a free-kick – the ball moving just a yard sideways – before Aaron Mooy, who signed from Bolton yesterday, was given his debut and 30 minutes to impress by Saints boss Danny Lennon.
Stephen Elliott was brought on up front in place of Elliot and Ian Black replaced Adrian Mrowiec as Jefferies sought more intensity from his side.
But after Saints substitute Garry Brady had fired narrowly over it was Skacel who provided the game’s third goal with the final kick of the contest.
The midfielder cut in from the right without being closed down and made space for himself to hit a right-footed shot low into the bottom right corner.