St Johnstone 1-2 Rangers
Nikica Jelavic struck twice as Rangers picked up maximum points against St Johnstone at McDiarmid Park.
The Croatian striker stretched to divert home a shot from Sone Aluko to give the visitors a half-time lead.
Carlos Bocanegra knocked in an unfortunate own goal to level the game midway through the second half
But Jelavic was in the right place to tap in his 17th goal of the season after Saints' Murray Davidson had made a mess of a defensive header.
All eyes were on Francisco Sandaza, with the Saints striker turning down the opportunity to agree a pre-contract deal with Rangers, according to his manager Steve Lomas.
However, it was Jelavic who grabbed the headlines with a predatory double.
Sandaza was impressive when he drifted past three opponents and slipped a pass through to Marcus Haber but the Canadian had edged offside before finding the net with his shot from the edge of the penalty area.
Rangers captain Steven Davis sliced the home defence open with a fantastic pass to David Healy but the Northern Ireland striker could not find the target from 18 yards when one-on-one with Saints keeper Peter Enckelman.
But Rangers were ahead on 24 minutes and Healy was involved, although he did not get a touch on the ball.
From a quickly taken free-kick near the centre spot, Steven Davis fed Aluko and, with the home defence backing off, the midfielder made his way into the penalty area to fire in a deflected shot that a stretching Jelavic poked home from six yards.
Lomas launched a furious protest on the sidelines, perhaps suggesting the free-kick was taken too far away from the initial offence or that Healy was in an offside position and obstructing Enckelman's view.
He also exchanged views with opposite number Ally McCoist, earning both managers a talking to from referee Craig Thomson.
Saints lost their discipline for a spell after going behind and Enckelman made a good save with his feet to deny Jelavic shortly after gathering a dipping free-kick from Aluko.
On 39 minutes, Liam Craig was given a glimpse of goal from the left edge of the penalty box but his drilled shot was saved comfortably by Rangers keeper Neil Alexander.
Craig then whipped in a wonderful cross to find David Robertson but the former Dundee United midfielder could not trouble Allan McGregor's deputy with his header.
With half-time approaching, St Johnstone skipper Jody Morris was caught dawdling by Maurice Edu, presenting Healy with a shooting opportunity, but the striker's effort was blocked by David McCracken.
The second half was four minutes old when Aluko found Davis on the left side of the penalty box, with Morris doing well to get a foot in and divert the midfielder's shot out for a corner.
From Davis's subsequent delivery, Dorin Goian powered in a header that was nodded clear by Robertson on the goal-line.
Soon after, St Johnstone fans were howling for the already booked Goian to be sent off following a cynical block on Sandaza by the Romanian, but Thomson did no more than award a free-kick.
The home side had laboured in the final third until they snatched a rather fortuitous equaliser on 68 minutes.
A Craig cross found Haber at the back post and the forward's header struck the chest of Bocanegra, diverting the ball past a bamboozled Alexander.
Sandaza then provided a great pass for Robertson to fizz a first-time shot inches wide of the post from 18 yards.
Rangers responded with a fierce, angled drive from Healy that Enckelman could only parry across goal and Lee Wallace, under pressure from Dave MacKay, completely mistimed his attempted header in front of an empty net.
And the visitors were in front again when Jelavic was in the right place to tap in after an errant defensive header from Murray Davidson had forced Enckelman to tip the ball against his crossbar.
Edu and Davis both tried their luck with shots as Rangers pressed but the visitors did not need another goal to make sure of the points.