Ten-man Hearts dented Rangers' championship credentials with a brilliant win in an enthralling battle at Tynecastle.
Despite losing Lee Wallace to a red card midway through the second half, Hearts were strong enough to hold on for all three points after first-half goals from Marius Zaliukas and Laryea Kingston.
An own goal by Hristos Karipidis gave the Gers some hope, but the Hearts defence was well marshalled by Christophe Berra and frustrated the visitors to hold on for a deserved win.
Hearts looked in the mood as they took the game to a lacklustre Rangers and Andrew Driver brought an early save from Allan McGregor with a low 25-yarder.
It was the home side who enjoyed the lion's share of possession without creating too many opportunities, but that all changed with two carbon copy goals in the space of three minutes.
The first came on 20 minutes when Bruno Aguiar sent in a free-kick from the left and Berra powered in a header that McGregor parried brilliantly down to his left where it fell kindly for Zaliukas, who hammered home from six yards.
Rangers didn't learn their lesson and on 23 minutes Aguiar sent in another free-kick from the left-hand side and Berra's header across goal was tipped out by McGregor.
The rebound fell kindly for Kingston to bundle the ball over the line and give the home side a two-goal cushion.
But it didn't last long as Rangers fought back with a strange goal.
Charlie Adam crossed from the right and Kris Boyd found acres of space to head the ball goalward. His effort bounced off the underside of the bar and, as Karapidis ran back to clear, he slipped and knocked the ball into his own net.
Hearts should have restored their advantage five minutes from the break when Aguiar delivered another great ball but Kingston's near-post flick was blocked by the legs of McGregor.
And ten minutes into the second half, McGregor saved Rangers again when Kingston was given acres of room to charge forward before firing in a 25-yarder that the keeper pushed round the post.
But Boyd squandered a chance to equalise for Rangers as he reached David Weir's cross before Jamie MacDonald but sent his header high over the bar.
Hearts were hampered by a red card for Wallace after two quick cautions for fouls on Chris Burke.
Substitute Eggert Jonsson filled in at full-back as Rangers pushed hard for an equaliser.
The best chance fell to Boyd when Kyle Lafferty found him with a neat header but the striker snatched at his shot and sent the ball spinning wide.
Lafferty also squandered a late opportunity, but Hearts were well worth the three points for their splendid first-half performance.