Hearts left Glasgow cursing a late collapse against Rangers as their 1-0 lead was flipped into a 2-1 defeat in the dying minutes at Ibrox. The Edinburgh club were strong and composed for the vast majority of the afternoon but could not hold out under concerted pressure from the hosts.
Lawrence Shankland headed Hearts into an early lead which they held until the interval. James Tavernier's penalty struck a post late in the first half, and the same player converted from the spot to equalise on 90 minutes. Rangers subtitute Danilo then headed a winner as the game entered nine minutes of stoppage-time.
The outcome was tough on those in maroon after a diligent display until the final few minutes. Rangers, though, needed the points to close the gap on Premiership leaders Celtic and were grateful for two late breakthroughs on a day when they looked less than convincing overall. Their persistence paid off in the end.
The visitors lined up with a three-man central defence after losing some cheap goals in last week's 4-1 defeat by Celtic. Their Rangers loanee, Alex Lowry, could not face his parent club, whilst midfielder Cammy Devlin was surprisingly dropped to the substitutes' bench.
This was Rangers' third outing under Philippe Clement and they conceded the first goal of the Belgian's manager's reign inside five minutes. Alex Cochrane's right-footed cross found Shankland at the back post, and the striker outjumped Ridvan Yilmaz to direct a soaring header over Jack Butland and into the goalkeeper's net.
Hearts deserved their early advantage and looked composed on the ball, breaking forward from a low block in their fluid 5-3-2 system. Ibrox regulars grew restless as the home players failed to press their opponents aggressively enough and passed the ball with questionable accuracy.
Yet Rangers almost equalised on 27 minutes. Connor Goldson's header from a corner ricocheted off Cyriel Dessers and was rolling into the net until Shankland slid in to clear off his own goal line. Hearts almost struck again just after the half-hour mark when Shankland played in Kenneth Vargas, but the Costa Rican was off balance and his effort landed in the Copland Road Stand.
In first-half stoppage-time, Rangers won a penalty when Toby Sibbick fouled Todd Cantwell inside the area. Sibbick was relieved to see Tavernier's spot-kick rebound off the post, resulting in the hosts being loudly booed from the field when the interval arrived.
Rangers, as expected, controlled possession in the second half and tossed a number of crosses into Zander Clark's penalty box. Hearts were camped in and did not look in significant danger until they conceded a second penalty in the dying moments.
As players jostled and barged into one another at a corner, Goldson fell. Referee John Beaton reviewed a touchline monitor before deciding that visiting substitute Peter Haring impeded the Rangers centre-back. Tavernier made no mistake with his second spot-kick of the day.
Hearts began to look more vulnerable and blue shirts were urged forward by home fans. Moments later, the winner arrived. Tavernier swung a deep cross to the back post, Frankie Kent found himself caught under the ball and Danilo headed beyond Clark to secure the three points for Rangers.
Here are the Hearts player ratings from Ibrox: