Lafferty netted in the second half after Steven Whittaker missed from the penalty spot just before half-time.
The win allowed the Scottish champions to pile the pressure on Celtic – who have two games in hand – ahead of their meeting with Hearts on Sunday, with nearest rivals Motherwell nine points behind Rangers.
Ally McCoist made just one change from the midweek win over Kilmarnock for the visit of Hibs.
Alejandro Bedoya was handed his first league start for the clash at Ibrox, with Juan Manuel Ortiz dropped to the bench.
The Edinburgh side also made a single change from the side who defeated St Johnstone on Wednesday, with Martin Scott drafted into the side ahead of Leigh Griffiths.
Rangers dominated the possession early on but both sides struggled to create much in the way of clear goalscoring opportunities in the opening spell.
But Gregg Wylde should have had the net bulging after 17 minutes when he raced on to a Steven Davis pass with only the goalkeeper to beat. Instead, Graham Stack made the save.
The youngster then squandered another great chance when Nikica Jelavic teed up the shot, Wylde blasting over when he should at least have tested Stack.
Wylde turned provider for Lafferty but he bulleted a header wide of the target, with the offside flag raised anyway.
At the other end, goalkeeper Allan McGregor was called into action to block a well-struck effort from Ivan Sproule.
Stack then produced a great save to deny a point-blank shot from Jelavic after good play between the Croatian and Lafferty.
Rangers were handed a penalty on the stroke of half-time after Lafferty was brought down in the box by Stack after rounding the goalkeeper.
But Whittaker blasted well over from the spot after winning the battle with Jelavic to step up for the pressure kick, as the first half ended goalless.
Rangers made a change at the interval, with Bedoya withdrawn and Jamie Ness thrown into the action after his recovery from injury.
Hibs could have opened the scoring a couple of minutes after the restart when Paul Hanlon met a cross from Scott only to head just over.
The visitors had another great chance when Garry O’Connor released Junior Agogo into the box and the flag stayed down. McGregor blocked bravely at his feet, before Agogo smashed the rebound into the side netting.
Ness then had the ball in the back of the net with an hour gone but the assistant’s offside flag was already raised before he unleashed the shot.
The breakthrough finally came after 68 minutes when a Wylde cross into the box dropped for Lafferty at the back post and he fired home from six yards to hand Rangers the advantage.
The home side immediately set about trying to double their lead and Maurice Edu forced a decent save from the goalkeeper, before Jelavic followed up with the rebound that was offside.
Stack then produced a superb one-handed save to prevent a ferocious strike from Davis finding the back of the net but Rangers managed to hold on for the narrow victory.