Hearts signalled that they are contenders in this season's Scottish Premier League race with a dogged win over defending champions Rangers.
Ryan Stevenson's close-range finish on 77 minutes settled an engrossing game and moves the Tynecastle side to within two points of second-placed Rangers.
Rangers dominated the early stages, with Marian Kello making a string of saves to deny the visitors.
And Gers substitute Nikica Jelavic struck the crossbar late in the game.
Hearts have now won 12 of their last 14 league outings and visit leaders Celtic on Wednesday in what will be a further test of their title credentials.
Rangers, who have a game in hand on Jim Jefferies' side, will feel hard done by having made all of the early running but they lacked the killer touch up front the day after top scorer Kenny Miller was sold to Bursaspor.
Rangers had Hearts pinned back for most of the first half hour and the home team had Kello to thank for keeping them in the game.
With Jamie Ness cutting a composed figure and Maurice Edu biting into tackles, the visitors had a stranglehold on midfield.
Kyle Lafferty, deployed as a lone striker, fired in a raking strike inside the first minute and Kello had to look lively to keep the ball from finding the bottom corner of the net.
The Northern Ireland international then scuffed a shot on the turn straight at Kello, following a good delivery from Edu on the right flank.
Steven Naismith sent a first-time effort wide from the left before Ness drew two fine stops from the impressive Hearts keeper.
The teenager charged in behind the home defence and Kello did well to protect his near post with a diving stop. A minute later, the youngster powered in a rising shot from 20 yards, which was prevented from nestling in the top corner by the fingertips of the Slovak.
Having dispossessed the dithering Adrian Mrowiec, Edu sent Lafferty scampering towards goal and the striker elected to shoot early from 25 yards but Kello was once again able to save.
With the Hearts defence stretched, Naismith found more room on the left and the busy Kello got down smartly to smother the Scotland midfielder's low strike.
As half time approached, Hearts finally threatened when Rudi Skacel fizzed a shot-cum-cross across the face of goal, before Allan McGregor blocked from Stephen Elliott.
The Rangers keeper was nearly embarrassed when a hopeful, long ball forward from Eggert Jonsson almost bounced over him but he managed to claw it away for a corner that was headed wide by Marius Zaliukas.
Rangers left-back Sasa Papac was first to threaten after the interval as his gallop forward culminated with a low right-foot strike that was gathered at the second attempt by Kello.
However, with Hearts markedly improved in midfield, the visitors could not find the room they were afforded in the opening period and the goalmouth action dried up.
That was until the 77th minute when Stevenson prodded the home team in front from six yards.
Full-back Lee Wallace cut in from the left and found Rudi Skacel in a central position and the ball found its way to Stevenson after his team-mate had taken a tumble then fired in a tame shot. The match-winner took a touch amid the frenzy before steering the ball home.
Jelavic rattled the crossbar with a smart shot on the turn as Rangers steamed forward in search of an equaliser but the men in maroon held on to take maximum points.
90:00+3:10 Stephen Elliott gives away a free kick for an unfair challenge on David Weir. Allan McGregor takes the direct free kick.
90:00+1:57 The official flags Nikica Jelavic offside. Free kick taken by Marian Kello.
90:00+0:52 Effort from outside the penalty box by Lee McCulloch goes wide right of the target.
89:28 Steven Whittaker challenges Lee Wallace unfairly and gives away a free kick. Free kick taken by Marius Zaliukas.
88:18 David Weir concedes a free kick for a foul on Stephen Elliott. Craig Thomson crosses the ball from the free kick right-footed
from right wing, clearance by Steven Whittaker.
87:08 Substitution Ryan Stevenson leaves the field to be replaced by Ian Black.
86:31 Vladimir Weiss takes a shot from just outside the penalty area which clears the crossbar.
86:05 Nikica Jelavic takes a shot from 12 yards.
83:56 Substitution Craig Thomson is brought on as a substitute for Rudolf Skacel.
83:24 The referee blows for offside against Stephen Elliott. Allan McGregor takes the free kick.
82:33 Free kick awarded for an unfair challenge on Ryan Stevenson by Vladimir Weiss. Free kick taken by Marian Kello.
79:45 The referee gives a free kick against Rudolf Skacel for handball. Allan McGregor restarts play with the free kick.
79:11 Substitution Vladimir Weiss joins the action as a substitute, replacing Jamie Ness.
76:58 Assist on the goal came from Stephen Elliott.
76:58 GOAL - Ryan Stevenson:Hearts 1 - 0 Rangers Ryan Stevenson scores a goal from close range to the bottom left corner of the goal. Hearts 1-0 Rangers.
74:59 Substitution John Fleck is brought on as a substitute for Maurice Edu.
74:50 Ruben Palazuelos has an effort at goal from outside the area missing to the wide left of the goal.
74:36 Adrian Mrowiec delivers the ball, clearance made by David Weir.
71:09 The ball is delivered by Lee Wallace.
68:55 Substitution Nikica Jelavic on for Kyle Lafferty.
67:35 Free kick awarded for an unfair challenge on Maurice Edu by Ryan Stevenson. Sasa Papac restarts play with the free kick.
67:35 Booking Caution for Rudolf Skacel.
65:12 Lee McCulloch sends in a cross, save by Marian Kello.
64:55 Lee McCulloch takes a shot. Blocked by Marius Zaliukas.
63:06 Maurice Edu concedes a free kick for a foul on Marius Zaliukas. Free kick taken by Marius Zaliukas.
61:43 The ball is swung over by Lee Wallace.
60:40 The assistant referee flags for offside against Kyle Lafferty. Marian Kello restarts play with the free kick.
58:23 Free kick awarded for a foul by Ismael Bouzid on Kyle Lafferty. Shot on goal comes in from Steven Davis from the free kick.
58:02 A cross is delivered by Ryan Stevenson, save by Allan McGregor.
57:27 Booking The referee shows Adrian Mrowiec a yellow card for unsporting behaviour.
57:18 Shot from outside the box by Steven Whittaker misses to the left of the target.
55:22 Substitution David Templeton goes off and Gary Glen comes on.
54:15 Corner taken by Ryan Stevenson played to the near post, clearance made by Kyle Lafferty.
53:22 Lee McCulloch takes a shot. Adrian Mrowiec gets a block in.
53:08 Maurice Edu takes a shot. Marius Zaliukas gets a block in.
52:06 Sasa Papac takes a shot. Marian Kello makes a save.
49:46 Corner taken by Steven Davis from the left by-line, David Weir has a headed effort from close range and clears the bar.
48:09 Unfair challenge on Steven Naismith by Ruben Palazuelos results in a free kick. Sasa Papac crosses the ball from the free
kick left-footed from left wing.
46:57 Ryan Stevenson challenges Lee McCulloch unfairly and gives away a free kick. Lee McCulloch takes the direct free kick.
45:01 The referee gets the second half underway.
45:00+1:01 The players leave the pitch at half time.
44:33 Foul by Madjid Bougherra on Ryan Stevenson, free kick awarded. The free kick is swung in left-footed by Rudolf Skacel.
43:22 The ball is crossed by Eggert Jonsson, save made by Allan McGregor. Outswinging corner taken by Stephen Elliott, Headed effort
on goal by Marius Zaliukas from inside the penalty box misses to the right of the goal.
42:06 A cross is delivered by David Templeton, clearance made by Madjid Bougherra.
41:35 A cross is delivered by Rudolf Skacel.
41:05 Lee Wallace fouled by Steven Whittaker, the ref awards a free kick. Marius Zaliukas restarts play with the free kick.
40:27 Kyle Lafferty is ruled offside. Free kick taken by Ismael Bouzid.
38:40 Madjid Bougherra challenges Ryan Stevenson unfairly and gives away a free kick. The free kick is delivered left-footed by
Rudolf Skacel from left channel, Lee McCulloch makes a clearance.
38:40 Booking Booking for Madjid Bougherra.
36:38 Inswinging corner taken right-footed by Steven Davis.
35:31 Ruben Palazuelos is penalised for handball and concedes a free kick. David Weir takes the direct free kick.
34:21 Unfair challenge on Steven Whittaker by Lee Wallace results in a free kick. Direct free kick taken by Madjid Bougherra.
34:21 Booking The referee cautions Lee Wallace for unsporting behaviour.
33:15 Free kick awarded for a foul by Ryan Stevenson on Lee McCulloch. Sasa Papac takes the free kick.
32:44 Sasa Papac takes a shot.
31:33 Inswinging corner taken by Steven Davis from the left by-line, Ruben Palazuelos makes a clearance.
29:56 The official flags Kyle Lafferty offside. Lee Wallace restarts play with the free kick.
29:14 A cross is delivered by Sasa Papac, Marian Kello makes a save.
27:46 The official flags Kyle Lafferty offside. Free kick taken by Marian Kello.
26:47 Steven Naismith is flagged offside by the assistant referee. Ismael Bouzid restarts play with the free kick.
23:03 Unfair challenge on David Templeton by Lee McCulloch results in a free kick. The free kick is delivered right-footed by David
Templeton from left channel.
23:03 Booking Lee McCulloch is given a yellow card.
22:24 Kyle Lafferty challenges Ismael Bouzid unfairly and gives away a free kick. Ismael Bouzid takes the direct free kick.
21:51 Ryan Stevenson gives away a free kick for an unfair challenge on Steven Whittaker. Allan McGregor takes the direct free kick.
21:27 Steven Naismith takes a shot. Save by Marian Kello.
20:13 Kyle Lafferty takes a shot. Save by Marian Kello.
19:06 Free kick awarded for an unfair challenge on Maurice Edu by Adrian Mrowiec. Free kick crossed right-footed by Steven Davis
from right channel.
17:17 Kyle Lafferty is flagged offside by the assistant referee. Marius Zaliukas restarts play with the free kick.
14:28 Ryan Stevenson fouled by Steven Naismith, the ref awards a free kick. Free kick crossed by Rudolf Skacel, clearance by Kyle
14:02 Unfair challenge on Eggert Jonsson by Steven Naismith results in a free kick. Free kick taken by Marian Kello.
13:38 Corner taken by Steven Davis from the right by-line, Ruben Palazuelos makes a clearance.
13:19 Outswinging corner taken right-footed by Steven Davis played to the near post, Ryan Stevenson manages to make a clearance.
13:02 Jamie Ness takes a shot. Save made by Marian Kello.
12:42 Outswinging corner taken left-footed by Sasa Papac, clearance made by Marius Zaliukas.
12:26 Jamie Ness takes a shot. Marian Kello makes a save.
11:30 Steven Naismith has a shot on goal from outside the area which misses right.
10:30 Unfair challenge on Jamie Ness by Adrian Mrowiec results in a free kick. Direct free kick taken by David Weir.
9:06 The offside flag is raised against Sasa Papac. Indirect free kick taken by Marian Kello.
8:01 Kyle Lafferty takes a shot. Marian Kello makes a save.
7:25 The ball is sent over by Sasa Papac, clearance by Marius Zaliukas.
6:36 Eggert Jonsson crosses the ball, Allan McGregor makes a save.
6:08 Stephen Elliott sends in a cross, Sasa Papac makes a clearance.
4:39 The ball is sent over by Adrian Mrowiec, Shot from just outside the box by Ryan Stevenson goes over the bar.
4:18 David Templeton produces a cross.
0:52 A cross is delivered by Jamie Ness, save by Marian Kello.
0:28 Kyle Lafferty takes a shot. Save made by Marian Kello.
0:00 The referee gets the game 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.