There were two changes for Jim Goodwin's side following the defeat at Tynecastle on Wednesday, with both Scott Brown and Matty Kennedy missing out with injury. Into the side in their place were Connor McLennan and fit again Ross McCrorie. Calvin Ramsay returned on the bench and Dante Polvara joined him there in his first senior Aberdeen involvement.
There were three change for Rangers after their 1-0 win at St Johnstone on Wednesday. Leon Balogun, John Lundstram and Scott Arfield all dropped to the bench to be replaced by Fashion Sakala, Borna Barisic and Ryan Jack.
The sides were greeted by bright sunlight in Glasgow and it was a bright start from Aberdeen, Vicente Besuijen slinging in a cross on four minutes. McCrorie got up to win the header and his knockdown was only just in front of McLennan's despairing lunge.
From there, the game entered a lengthy period of stalemate, the two sides cancelling each other out, unable to get any kind of a look at their opponent's goal. The next real action came on 24 minutes when Declan Gallagher was booked after a collision with Morelos on halfway.
Rangers had their first chance on 32, Kamara wriggling into the six yard box, his shot clipping Connor Barron before against the base of the post and going behind. Moments later, Aberdeen were on the break, Besuijen looking as if he was in on goal, Bassey doing well to get back and snuff out the danger.
The Dons then gave the ball away cheaply in midfield, Rangers bringing it forward before Sakala headed wide from Jack's cross. The game was belatedly coming to life and finding a bit of bite, Jack very lucky to avoid a card after taking a kick at Lewis Ferguson off the ball.
Aberdeen kept a good shape throughout the half, the Rangers crowd getting increasingly impatient as the minutes ticked by, culminating in a round of boos as the sides went in at the break.
Intricate passing from Rangers opened the second half, ending with Sakala putting a diving header over the bar at the near post on 50 minutes. There was much more intent from the hosts as the half began, penning Aberdeen back into. their defensive third.
Sakala had another sight of goal on 57 minutes, coming onto an Aribo knockdown on the edge of the box but he blazed the ball over the bar. A minute later, he was heading into the side netting as Rangers started knocking more loudly on the door. Rangers made a double change just before the hour, Sakala and Barisic making way for Arfield and Balogun.
Ferguson picked up a cheap booking after 63 minutes for not retreating at a free-kick which Tavernier duly played against his shins. The Dons were struggling to get out of their own half at this stage, McLennan limping off to be replaced by Jack MacKenzie after 68 minutes.
The Dons were still well organised, restricting Rangers to shots from distance, Jack trying one with 20 minutes to go, a comfortable save for Joe Lewis. Kent was next to try his luck a couple of minutes later, slicing wide from just inside the box.
Brilliant defending from David Bates with a crucial interception at full stretch denied Morelos, who looked to be clear in on goal after 73 minutes, Aberdeen's disciplined, dogged display chalk and cheese from that in the defeat at Tynecastle.
Lundstram and Roofe were introduced on 79 minutes, Jack and Morelos making way, then Ramsay replaced Hayes a minute later. It was the Rangers change that worked best, the hosts keeping the pressure on, Kamara standing the ball up to the back post. Tavernier's header back across goal took a deflection on its way through to Roofe and he bundled the ball over the line off his thigh from point blank range.
The imposing figure of Polvara made his Aberdeen debut in the 85th minute, replacing McCrorie. Besuijen became the Dons' third booking three minutes later for a late challenge on Arfield as the game ebbed away from the visitors.