Hearts goalkeeper Eduardas Kurskis' late blunder allowed Rangers to end a disappointing week with three points in the Scottish Premier League.
Kurskis let Lee McCulloch's shot squirm through his grasp
Lee McCulloch curled home the opener for the hosts after 17 minutes of a first half of near total dominance following their Champions League exit.
But, after Andrius Velicka headed the equaliser after 56 minutes, the Glasgow side looked tentative and nervous.
However, Kurskis allowed McCulloch's mis-hit shot to slip through his grasp.
And it moves Rangers to within two points of SPL leaders Celtic with a game in hand.
Home manager Walter Smith had made three changes as his side attempted to bounce back from their midweek defeat by Lyon.
Kris Boyd and Steven Naismith were the preferred partnership up front, while Charlie Adam started in midfield.
Sasa Papac was dropped to the bench, with Kevin Thomson and Daniel Cousin dropping out of the match-day squad completely.
Calum Elliot and Ruben Palazuelos were the beneficiaries of the usual changes to the Hearts line-up, Andrius Ksanavicius being absent and Michael Stewart suspended.
But there were no signs of a European hangover for Rangers as they controlled the opening 45 minutes.
Adam curled an ambitious half-volley from 25 yards off the crossbar in the opening moments.
And Kurskis did well to block from Naismith at the near post from point-blank range.
But the breakthrough came when Boyd and Hearts defender Jose Goncalves collided going for Adam's high ball.
As the Hearts defence hesitated, McCulloch charged into the penalty box and guided the ball past Kurskis.
McCulloch (left) scored twice for Rangers against Hearts
Hearts' Saulius Mikoliunas tried his luck from long range, while Andrew Driver fired across the face of goal.
But the first half ended with Rangers goalkeeper Allan McGregor not having been tested.
Mikoliunas made way for Kestutis Ivaskevicius at half-time and Hearts showed much more purpose and belief.
Velicka swept a shot across the goalmouth and wide of the upright.
Boyd headed wide at the other end before Velicka showed the Scotland international what he should have done by rising above the home defence to score from eight yards following a Driver free-kick.
It was now an end-to-end affair and Elliot squandered a chance to volley home from 12 yards, while Kurskis did well to block at the feet of Boyd.
Driver fired over after Barry Ferguson was caught dwelling on the ball at the edge of the Rangers penalty box.
But, when Adam squared the ball back for Alan Hutton, his scuffed drive deflected off McCulloch and Kurskis somehow allowed the ball to squirm over the line.
Rangers were now dominant and Ferguson and Adam passed up opportunities to extend their lead as Hearts wilted.
Rangers: McGregor, Hutton, Cuellar, Weir, Whittaker, McCulloch, Ferguson, Hemdani, Adam, Boyd (Darcheville 69), Naismith (Burke 84).
Subs Not Used: Carroll, Papac, Ehiogu, Furman, Efrem.
Booked: Whittaker, Hutton.
Goals: McCulloch 18, 87.
Hearts: Kurskis, Neilson, Zaliukas, Berra, Goncalves, Mikoliunas (Ivaskevicius 46), Palazuelos (Beniusis 88), Jonsson, Driver, Velicka (Nade 60), Elliot.
Subs Not Used: Banks, Wallace, McGowan, Brown.
Booked: Palazuelos, Neilson.
Goals: Velicka 56.
Ref: D McDonald