St Mirren recorded their first Scottish Premier League home victory of the season thanks to goals either side of the interval.
Buddies captain Jim Goodwin thundered in the opening goal from 40 yards.
The home side's lead was doubled when Steven Thompson laid the ball on a plate for Lewis Guy to score from close range.
Hearts' inability to put the ball in the back of the net was their downfall once more.
Things had looked promising for them early on as Callum Paterson, playing as the lone striker, twice came close to scoring within the space of 60 seconds.
His first effort, after eight minutes, was a header from six yards after Arvydas Novikovas had knocked a Ryan McGowan delivery back across goal.
Hearts lost and failed to score for a second successive match
But the youngster could not rise high enough to direct the header on target.
He did brilliantly moments later to fire in a powerful shot low to Craig Samson's right, but the keeper got down superbly to keep it out.
St Mirren fashioned a good chance five minutes later - Thompson playing a nice pass for David van Zanten to find Paul McGowan at the back post, but the midfielder failed to trouble Jamie MacDonald.
Paterson passed up an even better chance after 28 minutes. Novikovas drove into the box, poked it past Samson as he raced out to try to block, but Paterson's sidefooted effort was diverted wide by Paul Dummett.
A rare piece of flowing football almost produced a breakthrough for St Mirren, as Graham Carey's cross from the left was met deftly by the head of Lewis Guy, only for MacDonald to push it to safety.
But the keeper was beaten seven minutes before the break by a howitzer from Goodwin.
It looked hugely ambitious as he lined up a strike from 40 yards, but it was hit so sweetly, MacDonald could not prevent the ball flying inside his right-hand post.
Nor he could he do anything as St Mirren doubled their lead within two minutes of the restart.
Thompson got a break of the ball on the edge of the box as the home side mounted a swift counter-attack, and with great vision he rolled the ball into the path of Guy, who could not miss from just a few yards out.
Hearts were no doubt aggrieved at being two goals down, and should have had a goal back just after the hour mark, but neither McGowan nor Ryan Stevenson could turn a Danny Grainger corner into the net, with Samson stranded.
The visitors began to look more and more desperate, throwing on strikers John Sutton and Dale Carrick, but seemingly running out of ideas as to how to test Samson.
And with St Mirren content to sit back and soak up Hearts' pressure, Danny Lennon's side eventually ran out comfortable winners.
Full Time The referee blows for the end of the match.
Callum Paterson gives away a free kick for an unfair challenge on Dougie Imrie. Paul Dummett takes the direct free kick.
Corner taken right-footed by Daniel Grainger, clearance made by Lee Mair.
Centre by Daniel Grainger.
Corner taken by Arvydas Novikovas. Lee Mair fouled by Ryan McGowan, the ref awards a free kick. Direct free kick taken by Craig Samson.
Lee Mair challenges John Sutton unfairly and gives away a free kick. Daniel Grainger restarts play with the free kick.
Free kick awarded for a foul by Mehdi Taouil on Sam Parkin. Craig Samson takes the direct free kick.
Effort on goal by Arvydas Novikovas from inside the penalty area goes harmlessly over the bar.
Substitution Steven Thompson goes off and Sam Parkin comes on.
Inswinging corner taken by Gary Teale, Andy Webster manages to make a clearance.
Substitution Kenny McLean goes off and Dougie Imrie comes on.
Substitution (Hearts) makes a substitution, with Dale Carrick coming on for Andrew Driver.
Callum Paterson produces a cross, save by Craig Samson.
Jim Goodwin gives away a free kick for an unfair challenge on Mehdi Taouil. Daniel Grainger takes the direct free kick.
Corner taken by Daniel Grainger from the right by-line.
The ball is crossed by Daniel Grainger, clearance by Craig Samson.
Substitution John Sutton comes on in place of Darren Barr.
Corner taken left-footed by Daniel Grainger.
Shot by Ryan Stevenson from outside the area goes high over the crossbar.
The ball is swung over by Andrew Driver, David van Zanten manages to make a clearance.
The referee blows for offside. Free kick taken by Andy Webster.
Unfair challenge on Steven Thompson by Andy Webster results in a free kick. Direct free kick taken by Paul Dummett.
Outswinging corner taken right-footed by Daniel Grainger, Lee Mair manages to make a clearance.
The ball is delivered by Arvydas Novikovas, clearance made by Lee Mair.
Arvydas Novikovas gives away a free kick for an unfair challenge on Kenny McLean. Free kick taken by Gary Teale.
Substitution Gary Teale is brought on as a substitute for Graham Carey.
Steven Thompson delivers the ball.
The ball is swung over by Daniel Grainger, clearance by Craig Samson.
Paul McGowan handles the ball and concedes a free kick. Andy Webster takes the free kick.
Steven Thompson provided the assist for the goal.
47:13 Goal scored
Goal! - Lewis Guy - St Mirren 2 - 0 Hearts Lewis Guy grabs a goal from close in to the bottom right corner of the goal. St Mirren 2-0 Hearts.
Corner taken by Ryan McGowan from the right by-line, Graham Carey manages to make a clearance.
The game restarts for the second half.
45:00 +2:20 Half time
Half Time The match has reached half-time.
Effort on goal by Arvydas Novikovas from long range goes over the crossbar.
Ryan McGowan crosses the ball. Free kick awarded for a foul by Graham Carey on Callum Paterson. Daniel Grainger produces a shot on goal direct from the free kick.
The assist for the goal came from Steven Thompson.
37:49 Goal scored
Goal! - Jim Goodwin - St Mirren 1 - 0 Hearts Jim Goodwin scores a goal from a long way out to the bottom left corner of the goal. St Mirren 1-0 Hearts.
Lewis Guy is ruled offside. Jamie MacDonald restarts play with the free kick.
Corner taken left-footed by Daniel Grainger from the left by-line, clearance by Marc McAusland.
Corner from the left by-line taken by Graham Carey, clearance by Arvydas Novikovas.
The assistant referee flags for offside against Lewis Guy. Andy Webster takes the indirect free kick.
Outswinging corner taken from the left by-line by Daniel Grainger, clearance by Kenny McLean.
The assistant referee flags for offside against Lewis Guy. Daniel Grainger shoots direct from the free kick, Jim Goodwin gets a block in. Daniel Grainger takes a outswinging corner.
Foul by Andrew Driver on Graham Carey, free kick awarded. Graham Carey takes the direct free kick.
Jim Goodwin gives away a free kick for an unfair challenge on Ryan Stevenson. Arvydas Novikovas restarts play with the free kick.
Paul McGowan fouled by Daniel Grainger, the ref awards a free kick. Direct free kick taken by Jim Goodwin.
Unfair challenge on Daniel Grainger by Graham Carey results in a free kick. Free kick taken by Andrew Driver. Outswinging corner taken from the left by-line by Daniel Grainger, Graham Carey makes a clearance.
Daniel Grainger takes the outswinging corner, Kenny McLean manages to make a clearance.
Daniel Grainger takes a inswinging corner.
Outswinging corner taken from the left by-line by Daniel Grainger.
A cross is delivered by Paul Dummett, Mehdi Taouil gets a block in.
Arvydas Novikovas is penalised for a handball. Graham Carey takes the free kick.
Inswinging corner taken from the left by-line by Callum Paterson.
Ryan McGowan produces a cross, Paul Dummett gets a block in.
Inswinging corner taken by Daniel Grainger, save by Craig Samson.
Jim Goodwin fouled by Callum Paterson, the ref awards a free kick. Direct free kick taken by Marc McAusland.
Direct free kick taken by Daniel Grainger.
Booking Jim Goodwin is cautioned.
Foul by Jim Goodwin on Darren Barr, free kick awarded.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.