Stewart made no mistake from the spot to give Hearts the lead
Hearts extended their unbeaten league run to six matches with victory over St Mirren at Tynecastle.
David Templeton twice threatened the St Mirren goal before Michael Stewart's 24th-minute penalty put Hearts ahead.
The home side had chances to add to their lead and Saints goalkeeper Paul Gallacher denied Templeton in the second half.
St Mirren rarely threatened and a period of possession in the closing stages failed to yield an opening.
The result leaves Hearts six points behind fourth-place Hibernian while St Mirren slip one place to eighth.
Having been knocked out of the Scottish Cup by Aberdeen last week, Hearts were looking to get back to winning ways and dominated the early stages.
Christian Nade skilfully retained possession and crossed for Templeton to head wide of the St Mirren goal.
Templeton forced Gallacher into a save with a low drive and Nade flashed a header wide as Hearts continued to have the better of the first half.
And the hosts were presented with the chance to take the lead after St Mirren's Hugh Murray handled in the penalty box while jumping for a high ball.
Stewart sent Gallacher the wrong way from 12 yards to register his eighth goal of the season.
The home side continued to exert territorial advantage but struggled to find much penetration, with David Obua firing over after latching on to Scott Robinson's pass.
Stewart fired wide at the start of the second period before St Mirren's David Barron also missed the target with a long-range drive.
Marius Zaliukas then tested Gallacher from distance and the Saints keeper was called into action again to come off his line and usher Robinson wide of goal, preventing the Hearts forward from getting in a shot.
Robinson set up Templeton for a shot across the bows of the Saints goal but Gallacher was again equal to the attempt.
St Mirren, minus the Watford-bound Stephen McGinn, were struggling to get a foothold in the game and forward Michael Higdon was added to the attack as Stephen O'Donnell was withdrawn.
Billy Mehmet looked to turn around the Buddies' fortunes but Eggert Jonsson got in the way of the forward's effort.
Hearts lost Zaliukas to injury in the 87th minute, with Ian Black coming on to help the hosts see out their win as Saints failed to take advantage of superior possession late on.
Hearts manager Csaba Laszlo:
"It was important to get the three points. It keeps our position in the table.
"In this game, the discipline and the will was most important. If you take a 1-0 lead and you keep three points at home, you can concentrate on the next game.
"I didn't see any chances from St Mirren in the game.
"We missed two or three very good opportunities, especially David Obua's chance."
St Mirren manager Gus MacPherson:
"(The penalty incident) was just one of those things and sometimes players do things that you can't explain. No complaints, it was a clear penalty kick.
"Hearts have a real physical presence within their team, which I felt we dealt with pretty well.
"But the disappointing thing is that we've competed so well in a very tight game and lost out with a single goal.
"We had pressure but never really within the goalmouth area. You've got to give Hearts credit for that."
Live text and stats
Saturday, 16 January 2010
Stewart (pen) 24
13 Obua yellow card
21 Ismael Bouzid
26 Zaliukas (Black 87)
04 Jonsson yellow card
24 Templeton (Suso Santana 90+2)
55 Robinson (Smith 79)
07 Suso Santana,
19 Barron (Robb 86)
21 Innes yellow card
07 Murray yellow card (Johnston 87)
12 O'Donnell (Higdon 71 yellow card)
09 Mehmet yellow card
Attempts on target
Attempts off target
87:24 Free kick awarded for an unfair challenge on Steven Thomson by David Obua. Jack Ross takes the free kick.
86:35 Substitution Ian Black comes on in place of Marius Zaliukas.
85:19 Substitution Steven Robb on for David Barron.
84:49 Booking Michael Higdon goes into the book for unsporting behaviour.
83:55 Inswinging corner taken right-footed by Andy Dorman played to the near post.
82:35 Michael Stewart concedes a free kick for a foul on Andy Dorman. Free kick taken by John Potter.
80:48 Outswinging corner taken by Andy Dorman from the right by-line played to the near post, clearance made by Eggert Jonsson.
78:47 Substitution Scott Robinson leaves the field to be replaced by Gordon Smith.
77:29 Ruben Palazuelos takes the free kick.
77:29 Booking Billy Mehmet goes into the book for unsporting behaviour.
77:24 Free kick awarded for an unfair challenge on Michael Stewart by Billy Mehmet.
75:45 Christian Nade concedes a free kick for a foul on Jack Ross. David Barron restarts play with the free kick.
75:36 David Barron sends in a cross, clearance by Ismael Bouzid.
74:27 The ball is swung over by Jack Ross.
72:52 Marian Kello restarts play with the free kick.
72:52 Booking Hugh Murray is shown a yellow card for unsporting behaviour.
72:46 Hugh Murray concedes a free kick for a foul on David Templeton.
71:57 Billy Mehmet challenges Jason Thomson unfairly and gives away a free kick. Jason Thomson takes the direct free kick.
71:19 The assistant referee signals for offside against Andy Dorman. Marian Kello restarts play with the free kick.
71:04 Billy Mehmet takes a shot. Blocked by Eggert Jonsson.
70:00 Marius Zaliukas takes the direct free kick.
70:00 Substitution Michael Higdon replaces Stephen O'Donnell.
70:00 Billy Mehmet gives away a free kick for an unfair challenge on Marius Zaliukas.
69:17 Eggert Jonsson takes a shot. Save by Paul Gallacher.
67:42 Outswinging corner taken by Andy Dorman from the right by-line played to the near post, Shot on goal by Chris Innes from inside
the box goes harmlessly over the target.
66:26 Outswinging corner taken from the right by-line by David Templeton.
65:50 David Templeton takes a shot. Save by Paul Gallacher.
65:20 Andy Dorman takes a outswinging corner to the near post, clearance by Michael Stewart.
64:43 Jason Thomson produces a cross.
60:14 The free kick is delivered right-footed by Andy Dorman from right wing, clearance by Eggert Jonsson.
60:14 Booking David Obua is shown a yellow card for unsporting behaviour.
60:07 David Obua challenges Jack Ross unfairly and gives away a free kick.
57:37 Billy Mehmet is ruled offside. Free kick taken by Marius Zaliukas.
57:20 Christian Nade concedes a free kick for a foul on John Potter. Direct free kick taken by Paul Gallacher.
56:50 A cross is delivered by Stephen O'Donnell, save by Marian Kello.
54:42 The ball is delivered by Jason Thomson.
54:28 Michael Stewart produces a cross, Chris Innes makes a clearance.
52:49 Free kick taken by Paul Gallacher.
52:49 Booking Booking for Eggert Jonsson for unsporting behaviour.
52:46 Free kick awarded for an unfair challenge on Chris Innes by Eggert Jonsson.
51:15 David Templeton takes the inswinging corner, clearance by Jack Ross.
50:48 Foul by Chris Innes on Christian Nade, free kick awarded. Marius Zaliukas takes the direct free kick.
49:52 Marius Zaliukas takes a shot. Save made by Paul Gallacher.
49:14 Long distance shot from David Barron misses to the left of the target.
48:47 Marius Zaliukas gives away a free kick for an unfair challenge on Craig Dargo. David Barron takes the direct free kick.
48:13 Hugh Murray challenges Michael Stewart unfairly and gives away a free kick. Michael Stewart restarts play with the free kick.
47:18 Michael Stewart produces a left-footed shot from outside the penalty box and misses wide left of the target.
45:01 The second half has started.
45:00+0:50 The ref blows to signal half-time.
44:36 Andy Dorman is adjudged to have handled the ball. Michael Stewart takes the direct free kick.
42:14 The assistant referee signals for offside against David Obua. Paul Gallacher takes the direct free kick.
41:55 Free kick awarded for a foul by Billy Mehmet on Marius Zaliukas. Free kick taken by Marius Zaliukas.
41:25 Shot on goal by David Obua from just inside the area goes over the target.
40:37 The referee blows for offside. Marian Kello takes the indirect free kick.
39:04 Christian Nade challenges Andy Dorman unfairly and gives away a free kick. David Barron takes the free kick.
34:24 Unfair challenge on David Obua by John Potter results in a free kick. Free kick taken by Marian Kello.
33:53 Andy Dorman takes a outswinging corner from the right by-line to the near post.
32:35 The ball is delivered by Michael Stewart, Paul Gallacher makes a save.
30:21 Foul by Jason Thomson on Billy Mehmet, free kick awarded. Direct free kick taken by Hugh Murray.
27:23 Chris Innes challenges David Templeton unfairly and gives away a free kick. Jason Thomson takes the direct free kick.
25:50 The official flags Christian Nade offside. Paul Gallacher restarts play with the free kick.
24:47 The assistant referee flags for offside against Billy Mehmet. Marian Kello takes the indirect free kick.
23:04 GOAL - Michael Stewart:Hearts 1 - 0 St Mirren Michael Stewart scores a placed penalty. Hearts 1-0 St Mirren.
21:45 The referee penalises Hugh Murray for handball.
19:50 The ball is crossed by Ruben Palazuelos, clearance by David Barron.
19:23 Craig Dargo is flagged offside by the assistant referee. Free kick taken by Marian Kello.
18:18 Outswinging corner taken by David Templeton.
18:11 The ball is crossed by David Obua, clearance made by Chris Innes.
17:51 A cross is delivered by Jason Thomson, clearance by Jack Ross.
16:49 Michael Stewart fouled by Steven Thomson, the ref awards a free kick. Free kick taken by Marius Zaliukas.
16:17 Ruben Palazuelos fouled by Stephen O'Donnell, the ref awards a free kick. Free kick taken by Ruben Palazuelos.
14:35 Michael Stewart shoots direct from the free kick.
14:35 Booking Chris Innes goes into the referee's book.
14:27 David Templeton fouled by Chris Innes, the ref awards a free kick.
12:46 Free kick awarded for a foul by Steven Thomson on Michael Stewart. Direct free kick taken by Marian Kello.
10:51 Christian Nade concedes a free kick for a foul on Chris Innes. Free kick taken by Paul Gallacher.
10:07 Centre by Michael Stewart, Header from close in by Christian Nade misses to the left of the goal.
9:37 Outswinging corner taken right-footed by David Templeton from the right by-line.
8:18 David Templeton takes a shot. Save by Paul Gallacher. David Templeton takes a inswinging corner from the left by-line played
to the near post.
7:15 The ball is sent over by Christian Nade, Headed effort from deep inside the area by David Templeton misses to the left of
4:20 The assistant referee flags for offside against Craig Dargo. Marian Kello takes the free kick.
1:58 The offside flag is raised against Stephen O'Donnell. Marian Kello takes the indirect free kick.
1:03 Free kick awarded for a foul by Christian Nade on Stephen O'Donnell. Paul Gallacher restarts play with the free kick.
0:00 The game gets underway.
Live text and data provided by The Press Association.
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.