Rangers 0 Heart of Midlothian 0
In a match where the Gers applied intense pressure after the interval the visitors' defence, well marshalled by Christophe Berra, stood firm.
Rangers skipper Barry Ferguson did have the ball in the net with 13 minutes to go, but was ruled offside.
The home team went on the attack from the start and a volley by David Weir was turned behind by Steve Banks.
Libor Sionko wasted a good chance when he blazed his shot wide from Ferguson's clever back heel.
Hearts responded with a free-kick by Bruno Aguiar which was well saved by Allan McGregor. Roman Bednar then showed great strength to hold off Weir before shooting narrowly past.
The Hearts goal had an amazing escape when Charlie Adam headed down to Sionko, who somehow screwed his shot wide from only three yards.
Banks then made a great block from a Ferguson shot before Berra made an outstanding tackle on Kris Boyd as the striker was poised to hit home the rebound.
At the start of the second half a free kick from Aguiar went just over before Hearts were pinned back.
Banks raced out of his box to head clear from the advancing Nacho Novo, before the Spanish striker was unfortunate when he stumbled in the box after collecting Adam's pass.
Rangers nearly caught out Banks with a quick corner by Adam when the keeper had his back to the ball, but substitute Ibrahim Tall was able to clear.
Novo's pass released Chris Burke and from his cross Ferguson sidefooted home only to be ruled offside.
In the closing minutes Weir's header was hooked off the line by Tall as Rangers mounted a late assault that failed to pay dividends.