Paulo Sergio’s side moved to within a point of third-placed Motherwell in the Clydesdale Bank Premier League after strikes from Jamie Hamill and an own goal from Lee Mair.
Right-back Hamill maintained his reputation as an expert penalty taker when he slotted home his spot-kick two minutes from half-time, before Mair knocked into his own net on 70 minutes.
Hearts, who have lost just one goal in five games, ended St Mirren’s four-match undefeated run away from home this term.
The hosts were dealt a pre-match blow when Andy Webster was injured in the warm-up, with Eggert Jonsson coming into the starting line-up. John Sutton was brought onto the bench in Jonsson’s place. Midfielder Mehdi Taouil, fully fit after a groin injury, also started for the first time since the opening day draw at Rangers, with Arvydas Novikovas dropping out.
Danny Lennon’s visitors, meanwhile, were unchanged from the side that were held to a goalless draw by St Johnstone in Paisley last weekend.
Adrian Mrowiec moved to centre-half in place of Webster, but his early misplaced pass could have allowed Nigel Hasselbaink to profit yet he failed to make the most of the opportunity.
Hearts were sluggish in the opening stages, but did come close when Danny Grainger’s dangerous corner whistled across the six-yard box.
St Mirren produced the first shot on goal on 10 minutes. After Hamill lost possession on the left, Paul McGowan found Steven Thomson – with the aid of a deflection off Jonsson – but the midfielder’s 20-yard drive was clutched by Jamie MacDonald.
At the other end, Buddies captain Jim Goodwin almost slid the ball into his own net from a Stephen Elliott cross. A flowing Hearts move, involving David Obua and Taouil, then saw Elliott clip his effort too high.
Taouil, after 23 minutes, almost brought the Hearts fans to their feet. The lively French-born Moroccan let fly from 20 yards and only an excellent one-handed palm over from Craig Samson kept the powerful drive out.
From the resultant Grainger corner, Obua’s free header was a yard over. As Hearts upped the ante, Ian Black’s long-range effort whistled just over the bar.
St Mirren had been on the back foot, but shortly after the half-hour mark they created a chance when Gary Teale’s free-kick was headed across goal by Illias Haddad with MacDonald relieved to see it run to safety. Hearts were seeking to play Sergio’s passing game, but they looked dangerous from cross balls and Ryan Stevenson should have done better than head straight at Samson from Grainger’s centre.
But Hearts made the breakthrough from the penalty spot on 43 minutes. After Grainger and Stevenson combined, Marius Zaliukas was tripped in the area by Haddad, with the Dutchman very lucky to escape a second booking from referee Charlie Richmond.
Hamill made no mistake from the spot, comfortably netting his second goal of the season.
Grainger nodded away Hasselbaink’s deep cross almost from his goal line at the other end, before Obua was superbly denied by Samson on the stroke of half-time after the Ugandan capitalised on a mistake in the visiting defence.
Hearts were the dominant force upon the re-start, pegging St Mirren back without directly threatening Samson.
Lennon made an early second-half change to turn the tide, replacing Hasselbaink with on-loan Burnley teenager Joe McKee. But it was Obua who soon went close again, skewing wide from 18 yards after neatly carving an opening.
Hearts looked comfortable, dominating possession and protecting their lead. Black was yellow-carded near the far touchline as St Mirren made a rare foray forward, but their free-kick for the foul came to nothing.
Hearts wrapped up the three points when they doubled their lead in the 70th-minute. Grainger again provided an excellent delivery from the left and St Mirren defender Mair could only divert the ball into his own net at the near post, under pressure from Stevenson and Elliott.
Taouil then somehow saw his drive across goal stay out as Hearts sought more goals. Teale almost reduced arrears with an angled strike from the edge of the box that drifted just past MacDonald’s far upright. Samson denied Grainger’s shot with his legs three minutes from time, when a goal would have capped the left-back’s display.