With two games in hand over the SPL leaders, the victory over Saints means the destiny of the championship is again back in Rangers' own hands if they can take maximum points from those outstanding fixtures. David Healy was handed his first start as Rangers made four changes from their Europa League triumph over Sporting Lisbon. Lafferty, Vladimir Weiss and Jelavic - who was ineligible for the European clash - also started at Ibrox.
Skipper David Weir had been struggling with a sickness bug and was named on the bench, along with El-Hadji Diouf, Richard Foster and John Fleck. Saints made one change from their goalless draw with Dundee United, Steven May replacing the injured Jamie Adams in the starting line-up.
The match was just four minutes old when the Scottish champions surged into the lead. Maurice Edu - who netted the decisive goal in the Europa League - saw his shot blocked and Jelavic was the first to react and pounce on the loose ball before dispatching an unstoppable volley past the grasp of Peter Enckelman.
Saints suffered another setback when they were forced to make an unplanned change after 17 minutes when the injured Michael Duberry was withdrawn and replaced by Alan Maybury. Rangers were threatening again when Lafferty whipped a cross into the box from the left, which was missed by Jelavic and fell for Healy, but his shot was blocked well by Enckelman.
The home side had to make a change of their own when Weiss limped off and youngster Gregg Wylde was thrown into the action after 27 minutes. Lafferty then squandered a great chance to leave the net bulging when he collected a lovely pass from Steven Davis only to hook well over when he should at least have tested the goalkeeper.
The big striker was holding his head in his hands again moments later. Davis was again the provider and Lafferty remained onside with only Enckelman to beat but fired straight into his grateful hands. Lafferty eventually succeeded four minutes before the break when he rose above everyone else in the box to meet Wylde's corner and send a firm header into the back of the net.
However, his finishing was a problem again after the restart. This time, Steven Whittaker flighted a long ball into the box for Jelavic and he provided the cut-back for the Northern Irishman, who ballooned well over the crossbar. Edu then had a go with a thunderous shot from distance but his effort was well off-target and failed to trouble Enckelman.
Danny Invincibile made his Saints debut with just over an hour gone, replacing Cleveland Taylor, as the visitors attempted to haul themselves back into a game that had lost its edge in the second half. Fleck was thrown into the action for Healy with 15 minutes to go and immediately set up Jelavic, but his bullet header was held by Enckelmen as Saints clung to hope of staging a late comeback.
But there was no way back when Papac exchanged a one-two with Jelavic, which involved a cheeky backheel from the striker, before slotting into the back of the net with 81 minutes gone. Rangers could have had a penalty a couple of minutes later when Fleck went to ground under pressure from the goalkeeper, but his pleas were ignored by referee Steve McLean. But the net was bulging again anyway with seconds to go when Jelavic sidefooted home from 10 yards to seal the victory.
Rangers 4-0 St Johnstone: Match Report - view commentary, squad, and statictics of the game as it happened.