New Hearts manager John McGlynn enjoyed a winning start to the season as St Johnstone were beaten at Tynecastle.
Hearts took the lead when John Sutton converted a 30th-mintue penalty after Dave MacKay had fouled David Templeton in the area.
And Saints' afternoon got worse when striker Gregory Tade was dismissed for violent conduct before the break.
Liam Craig and Nigel Hasselbaink went close for the visitors before Templeton fired Hearts' second late on.
In glorious sunshine, the home side almost took the lead after 10 minutes when Ryan McGowan looped a header over Saints goalkeeper Alan Mannus.
Sutton scored Hearts' first from the spot
But, as the ball looked destined to end up in the back of the net, defender Callum Davidson acrobatically cleared off the line.
Saints raced upfield and were unlucky not to break the deadlock. A terrific cross in from the left by Craig was met by the head of Hasselbaink, but the ball came off the base of the post.
Davidson was again the saviour for Steve Lomas's team, clearing an Andy Driver shot when a goal looked assured.
Hearts' pressure paid off on the half-hour mark. Templeton ran 30 yards with the ball, beating at least five players before Saints captain MacKay brought him down six yards out.
Sutton confidently stroked home the penalty, his first competitive goal since returning to the club from a loan spell at Central Coast Mariners.
There was a further setback for Saints six minutes later when Tade clashed with Andy Webster.
Referee Stevie O'Reilly decided the striker's actions were too aggressive and a straight red card was shown, much to the disgust of Tade and his manager.
Lomas made an immediate tactical switch, with midfielder Pat Cregg being sacrificed and new signing Rowan Vine sent on from the bench.
Despite being down to 10 men, Saints kept pushing forward.
Hearts goalkeeper Jamie MacDonald was forced into a couple of decent stops from Hasselbaink and Craig.
The hosts also had their chances in the second period, Templeton forcing Mannus into a decent stop low to his right hand side.
However, Templeton gained his reward for a magnificent individual performance when he latched on to a through ball from Mehdi Taouil and sent a curling shot into the bottom right hand corner of the net with eight minutes left.
Effort from deep inside the area by Dale Carrick clears the bar.
Free kick awarded for an unfair challenge on Rowan Vine by Callum Paterson. Direct free kick taken by Callum Davidson.
Free kick taken by Andy Webster.
Substitution Dale Carrick replaces Darren Barr.
Rowan Vine is flagged offside by the assistant referee.
The free kick is swung in right-footed by Arvydas Novikovas, David McCracken gets a block in. Inswinging corner taken right-footed by David Templeton from the left by-line, Callum Paterson has a headed effort at goal from just inside the penalty area that strikes the post. Callum Paterson fouled by Jamie Adams, the ref awards a free kick. The free kick is swung in left-footed by Arvydas Novikovas, David McCracken manages to make a clearance.
Substitution Nigel Hasselbaink leaves the field to be replaced by Steve May.
Foul by Callum Davidson on Ryan McGowan, free kick awarded.
Arvydas Novikovas takes a shot. David McCracken gets a block in. Short corner taken by David Templeton from the left by-line. David Templeton has an effort at goal from just inside the box that misses to the right of the target.
Mehdi Taouil provided the assist for the goal.
81:29 Goal scored
Goal! - David Templeton - Hearts 2 - 0 St J'stone A goal is scored by David Templeton from the edge of the area to the bottom right corner of the goal. Hearts 2-0 St Johnstone.
Darren Barr produces a right-footed shot from the edge of the box and misses to the left of the goal.
Kevin McHattie is ruled offside. Alan Mannus takes the indirect free kick.
David Templeton shoots direct from the free kick, Alan Mannus makes a save.
Booking Booking for Jamie Adams.
Jamie Adams challenges David Templeton unfairly and gives away a free kick.
Arvydas Novikovas takes a shot. Save made by Alan Mannus.
Substitution Arvydas Novikovas on for Andrew Driver.
Booking Callum Paterson receives a caution for unsporting behaviour.
Nigel Hasselbaink takes a shot. Save by Jamie MacDonald.
Effort from the edge of the area by David Templeton goes wide of the right-hand post.
Header by Andrew Driver from deep inside the penalty area misses to the left of the goal.
Alan Mannus restarts play with the free kick.
Substitution Jamie Adams is brought on as a substitute for Chris Millar.
Substitution (Hearts) makes a substitution, with Mehdi Taouil coming on for Scott Robinson.
Unfair challenge on Nigel Hasselbaink by Callum Paterson results in a free kick.
Foul by Darren Barr on Chris Millar, free kick awarded. Direct free kick taken by Chris Millar.
David Templeton takes a shot. Save by Alan Mannus.
Corner taken by Liam Craig, Nigel Hasselbaink takes a shot. Clearance by Darren Barr. Nigel Hasselbaink is caught offside. Jamie MacDonald takes the free kick.
Liam Craig takes a shot. Save by Jamie MacDonald.
Shot by Liam Craig from a long way out goes over the target.
David McCracken concedes a free kick for a foul on John Sutton. Free kick crossed left-footed by Andrew Driver from right channel, Ryan McGowan concedes a free kick for a foul on David MacKay. Alan Mannus takes the direct free kick.
The assistant referee flags for offside against Nigel Hasselbaink. Indirect free kick taken by Jamie MacDonald.
Corner taken by Liam Craig from the left by-line, clearance made by Marius Zaliukas.
Callum Paterson concedes a free kick for a foul on Nigel Hasselbaink. Callum Davidson takes the free kick.
Liam Craig takes the inswinging corner, clearance by John Sutton.
Frazer Wright concedes a free kick for a foul on Ryan McGowan. Andrew Driver takes the direct free kick.
Rowan Vine is ruled offside. Indirect free kick taken by Kevin McHattie.
Ryan McGowan produces a right-footed shot from just outside the area that goes harmlessly over the bar.
The second half begins.
45:00 +1:28 Half time
Half Time The referee calls an end to the first half.
Substitution Rowan Vine on for Patrick Cregg.
Nigel Hasselbaink fouled by Callum Paterson, the ref awards a free kick. Alan Mannus takes the free kick.
Corner taken by Andrew Driver from the right by-line, clearance made by David MacKay.
Effort from deep inside the area by Ryan McGowan clears the bar.
Dismissal The referee shows Gregory Tade a red card for violent conduct.
Scott Robinson gives away a free kick for an unfair challenge on Chris Millar. The free kick is swung in left-footed by Liam Craig.
Foul by Gregory Tade on Marius Zaliukas, free kick awarded. Free kick taken by Marius Zaliukas.
Unfair challenge on Murray Davidson by John Sutton results in a free kick. Direct free kick taken by David MacKay.
29:55 Goal scored
Goal! - John Sutton - Hearts 1 - 0 St J'stone Placed penalty scored by John Sutton. Hearts 1-0 St Johnstone.
David MacKay concedes a Penalty for a foul on David Templeton.
Liam Craig takes a outswinging corner to the near post, clearance by John Sutton.
John Sutton is caught offside. Alan Mannus takes the indirect free kick.
Ryan McGowan fouled by Patrick Cregg, the ref awards a free kick. Centre by Andrew Driver, Callum Paterson takes a shot. David Templeton concedes a free kick for a foul on Callum Davidson. Free kick taken by Alan Mannus.
The ball is delivered by Chris Millar, Liam Craig produces a right-footed shot from inside the area that clears the crossbar.
Kevin McHattie gives away a free kick for an unfair challenge on Murray Davidson. Alan Mannus takes the direct free kick.
Foul by Chris Millar on David Templeton, free kick awarded. Scott Robinson restarts play with the free kick.
Free kick awarded for a foul by Ryan McGowan on Frazer Wright. Free kick taken by Alan Mannus.
Andrew Driver takes a shot. Callum Davidson makes a clearance. Headed effort from deep inside the penalty area by Andrew Driver misses to the left of the goal.
Inswinging corner taken left-footed by Liam Craig from the right by-line to the near post, Callum Paterson manages to make a clearance. Corner taken left-footed by Liam Craig, save by Jamie MacDonald.
Unfair challenge on John Sutton by David McCracken results in a free kick. Direct free kick taken by Scott Robinson.
Inswinging corner taken left-footed by Andrew Driver, Ryan McGowan takes a shot. Callum Davidson makes a clearance.
Inswinging corner taken by David Templeton from the left by-line, David McCracken manages to make a clearance. Inswinging corner taken from the left by-line by David Templeton, Header from close in by Andy Webster misses to the right of the goal.
The assistant referee signals for offside against Gregory Tade. Jamie MacDonald restarts play with the free kick.
Unfair challenge on Callum Davidson by Ryan McGowan results in a free kick. Frazer Wright restarts play with the free kick.
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.