• Eggert Jonsson and Steven Naismith
A Kyle Lafferty header and a late penalty by Kenny Miller proved decisive, and the visitors finished with only ten men after Eggert Jonsson was ordered off for a professional foul on Steven Naismith which brought Miller his penalty.
A tidy Hearts performance from back to middle was let down only by the failure to breach a stubborn Rangers rearguard. The hosts endured some jittery moments in a goalless first half but managed to prove themelves clinical enough after the interval to take another step towards the league title.
Jim Jefferies, the Hearts manager, reinstated Ismael Bouzid in central defence and Craig Thomson at right midfield, with the in-form Spaniard Suso partnering David Obua in attack.
Captain Michael Stewart was deemed sufficiently fit for a place on the substitutes' bench. Rangers lined up in the knowledge victory would not secure the SPL title following Celtic's defeat of Hibernian yesterday, a factor which might have contributed to the low-key opening.
On 19 minutes, Lee McCulloch's header from Kevin Thomson's corner was cleared off the Hearts goal line by Larry Kingston.
MacDonald displayed his agility to collect Steven Davis' swirling free-kick after David Obua was cautioned for fouling the aforementioned Thomson.
Hearts responded with an attack of their own as Suso's clipped pass released Craig Thomson in behind the square Rangers defence, however his drive cross was beaten to safety by Allan McGregor's fists.
From the same combination Craig Thomson produced another cross ball, this time high, which only narrowly evaded Lee Wallace at the back post.
Signs were that the visitors were emerging from their collective shell, helped by occasionally nervous and wayward Rangers passing. Larry Kingston was central to everything that was positive about Hearts at that stage.
In the 40th minute Boyd cushioned a header from Madjid Bougherra's cross into the path of McCulloch, the result being a goalbound volley which fortuitously ricocheted off a defender.
From another of the Algerian's deliveries, Lafferty headed high and wide. A faction of the home support jeered Rangers off at half-time, perhaps hopeful of prompting a response after the interval.
Their intentions would have brought the desired outcome of a goal but for the reactions of MacDonald on 49 minutes.
Sasa Papac hoisted a cross into the Hearts penalty area which met the head of Kenny Miller. As the ball arced away from the visiting goalkeeper he sprung to his right to claw it out for a corner. It was, without question, the save of the match.
Unfortunately, the heroics only preceeded the opener. A textbook corner from Kevin Thomson was headed powerfully at goal by Lafferty, and although MacDonald got a hand to the ball he was beaten by its ferocity as it crossed the goal line via the underside of his crossbar.
The same goalframe shook again on 73 minutes when Kevin Thomson, by far Rangers' most influential player, dispatched a curling 25-yard shot which MacDonald touched onto the face of the bar.
The rebound was promptly cleared and, although Hearts were rarely troubled in defence they similarly toiled to impose themselves at the opposite end during the second period.
Six minutes from time, Rangers secured victory at serious cost to Hearts. Substitute Nacho Novo fastened on to a through pass from McCulloch whilst looking suspiciously offside.
He delivered the ball low across the face of goal and referee Iain Brines ajudged that another substitute, Naismith, was pushed by Jonsson in attempting to prod the ball home.
That resulted in a penalty for the hosts, which Miller duly converted, but only after Jonsson's dismissal for a professional foul. He is now suspended for next weekend's enocunter with Motherwell at Tynecastle.
As the final moments were played out Hearts could consider themselves unfortunate to be on the end of defeat having more than held their own against the SPL's champions elect. Their discipline and professionalism were admirable, and they could only rue the final scoreline.
Rangers (4-4-2): McGregor; Whittaker, Bougherra, Weir, Papac; Davis, McCulloch, Thomson, Lafferty; Boyd, Miller. Subs: Alexander, Edu, Novo 78 (for Boyd), Naismith 70 (for Lafferty), Fleck, Little, Wilson.
Hearts (4-4-2): MacDonald; Jonsson, Bouzid, Zaliukas, Wallace; C Thomson, Kingston, Black, Palazuelos; Suso, Obua. Subs: Ridgers, Stevenson, J Thomson, Elliot, Stewart 74 (for Kingston), Templeton 82 (for Suso), Robinson 62 (for C Thomson).
Referee: Iain Brines.