Kris Boyd claimed his 30th goal of the season to seal a crucial win for Rangers against Hearts in the Premier League.
Andrius Velicka's superb goalscoring form also continued as he grabbed his fourth goal in as many games against his former club.
The victory allowed Rangers to keep the pressure on Celtic at the summit of the SPL, with a single point all that separates the Glasgow giants ahead of next week's crunch Old Firm derby.
Lee McCulloch's return from injury proved timely when he was drafted straight back into the team as a direct replacement for suspended centre-half Madjid Bougherra.
There was also a place on the bench for Kyle Lafferty, who had been out of action since sustaining ankle ligament damage the last time Hearts visited Ibrox in what had arguably been his finest outing for the club so far.
Hearts made two changes from the side held to a draw by bottom club Falkirk, with Mike Tullberg and Eggert Jonsson back in the team.
Ruben Palazuelos, on the scoresheet against Rangers the last time the two clubs met, and Lee Wallace were absent through injury and illness respectively.
Boyd had an early chance when the ball broke to him in plenty of space in the box after just a few minutes.
But he was quickly closed down by Christos Karipidis and his attempt to lob the goalkeeper was weak and easily gathered by Marian Kello.
At the other end, Neil Alexander was called into action to block a well-struck shot from Tullberg, which the Rangers goalkeeper spilled before recovering and smothering to deny Hearts the rebound.
Steven Whittaker then met a Steven Smith cut-back before rifling narrowly wide of the target from distance but Kello never really looked troubled.
Rangers had the opportunity to pile the pressure on when they were handed a free-kick just outside the box for a foul on Velicka.
Smith stepped up and delivered a lovely swerving effort which looked set to sneak in under the crossbar but Kello did well to gather at full-stretch.
Hearts were looking dangerous on the counter-attack and Bruno Aguiar tested Alexander with a powerful drive.
Maurice Edu then unleashed a long, low effort which fizzed past the upright, before Boyd's lob smacked off the crossbar.
Instead, it was Velicka who managed to open the scoring on the stroke of half-time. Smith's corner found Boyd who nodded down for the Lithuanian to lash home on the turn.
Boyd tried to turn provider again shortly after the restart when he slipped a teasing ball through to Steven Davis, but the midfielder's shot lacked power and was comfortably scooped up by Kello.
Both teams made a change up front as the game headed towards the hour mark. Hearts swapped Tullberg for Christian Nade before Rangers replaced Velicka with Kenny Miller.
Calum Elliot then attempted to win a penalty for Hearts by claiming he was tripped in the box by Whittaker but the pleas were ignored by referee Iain Brines, who appeared to make the correct call.
Lafferty made his long-awaited return from injury when he was thrown into the action in place of Smith with just over 15 minutes to go.
Within moments of coming on the big striker embarked upon a great, surging run before attempting to set up Boyd but the offside flag was raised.
Any hope of a Hearts comeback were shattered when Boyd netted with a minute to go. Davis found Miller on the far right and he teed up the shot for his fellow striker to bundle over the line from close range.