Foderingham (6) Keeper could only watch on as Souttar’s sweet strike from 30 yards rattled his crossbar in the first half. Had little to do as Hearts struggled to pose any real threat.

Tavernier (6) Was hardly tested defensively as Rangers dominated the ball and spent more time attacking and Kyle Lafferty was forced deep into his own half. Solid showing from the right-back.

Cardoso (6) Didn’t cover himself in glory against Hibernian last time out but was more composed here. Clean sheet one of few positives for the Gers.

Read more: Rangers 0-0 Hearts: Pedro Caixinha's side suffer another Premiership blow at Ibrox

Alves (7) Handled the threat of Goncalves well and was comfortable throughout. Unlucky not to open the scoring with a header from a corner in the first half.

Wallace (6) Back in the starting line-up after missing two matches with a muscle injury. Not put to the test in his own half but should have been better as an attacking presence in the final third.

Candeias (6) The Portuguese has a nice touch and is quick across the ground. Posed Hearts a few problems but his efforts ended in frustration as Rangers failed to break the deadlock.

Dorrans (6) Can’t be faulted for effort but there wasn’t enough quality from one of the key players in Caixinha’s side. Saw a shot deflected over just before he was replaced.

Jack (7) Another quietly effective performance from the midfielder. Kept the play ticking over and didn’t waste the ball.

Read more: Lee Wallace: Rangers won't panic in the Premiership despite poor top flight start

Windass (5) Has been a threat in stages in the first two weeks of the Premiership but he never got into his stride here. Took a couple of blows in the first half and was replaced early in the second.

Morelos (6) Couldn’t find the net for a third successive match at Ibrox but still put in a shift at the head of the attack. Always looking to get involved, although clear chances were hard to come by.

Miller (5) Was denied by keeper Hamilton in the first half after he did well to collect a Wallace cross and get a shot away. Shifted wide left after the break and didn’t have the impact that the Ibrox crowd know he is capable of.

Subs:

Kranjcar (4) (for Windass) The playmaker was the first throw of the nice as Caixinha looked to spark his side into action. Couldn’t unlock the Jambos defence.

Hardie (3) (for Dorrans) Eager to make the most of his chance after earning a spot in the squad. Late shot deflected just wide as he almost became the Gers hero.