There was late heartbreak for the Dons for the second time in three days, Rangers scoring twice in added time to turn the tables on a game that Aberdeen did more than enough to win.
Jim Goodwin made two changes to his Aberdeen side after the 1-0 defeat to Celtic on Sunday. Liam Scales and Jayden Richardson returned to the side in place of the injured Matty Kennedy and Jack MacKenzie who started from the bench.
After their 3-2 win over Hibs at Ibrox last Thursday, Rangers made just one change, Connor Goldson replacing John Lundstram, who dropped to the bench.
It was a bright start from Aberdeen, a ball into Bojan Miovski on the edge of the box looking promising, but his shot was charged down by a Rangers elbow in the third minute. Rangers responded in the 10th minute, Kent's shot arcing well wide from 25 yards.
Rangers were in front on 12 minutes, a scrambled goal from Sakala. Jack set Morelos away down the right to square for Sakala. His first shot was blocked by Anthony Stewart but he didn't get enough on the clearance which came straight back to Sakala and he made the most of his second chance to beat Kelle Roos.
Three minutes later there was a very similar move down the right, the ball pulled back for Morelos this time, but fortunately, his shot was straight at Roos who blocked it away to safety.
The Dons could have been level in the 18th minute. Connor Barron pounced on a poor kick out from McGregor and fed Richardson down the right. He stood the ball up to the back post where Duk forced the ball against the post before his shot from the rebound was deflected into the side netting.
Jack and Ylber Ramadani went into the book on 21 minutes after an altercation in the middle of the park. Ramadani should have been on the scoresheet as well on 23. Duk burst away down the left and exchanged passes with Leighton Clarkson. Duk then picked out a fine cross for Ramadani ten yards out but with the goal at his mercy, he poked his shot wide of the post. A good response from Aberdeen all the same.
Scales was booked in the 24th minute after Morelos went down under a tackle 20 yards out. There was another ten minutes later, Barron cautioned for a late challenge on Sands.
Sakala wasn't far away from a second goal on 39 minutes wriggling his way into space to fire off a shot from 20 yards that flashed just over the bar. Sands was booked three minutes later for carving Miovski in two on the edge of the box, just to the right of the D. The number nine required treatment before continuing.
From the free-kick, Duk produced a magnificent finish, firing the ball over the top of the wall, across McGregor, past his right hand and into the far side netting, leaving the Rangers goalkeeper groping thin air. A superb goal from the Aberdeen striker, recalling the free-kick prowess of another lad who started his career in Portugal, to put the game level going into the break.
HALF-TIME: ABERDEEN 1 RANGERS 1
Aberdeen were in behind three minutes into the second half, Duk on the chase, McGregor quickly off his line to smother the danger as Duk got more than a nudge from Jack inside the box.
Aberdeen were in front on 54 minutes though. Scales brough the ball out from the back and curled a dangerous pass into the Rangers box across 30 yards. It was half cleared, but Clarkson pounced on it 25 yards out, and with his second touch arced a right foot shot beyond McGregor's vain dive and into the corner of the net.
Sakala had another great chance to add his second from a Rangers corner on 58, but as he went up for the header, the ball came off his shoulder and flew over. Rangers then made a quadruple change, Davies, Wright, Arfield, Lundstram all coming on, Sakala, Sands, Kamara and Jack all making way. Aberdeen responded with their own triple switch, Shayden Morris, Jonny Hayes and Marley Watkins joining the fray in place of Clarkson, Miovski and Duk.
Tillman wriggled into space to fire off a shot into the near post on 70 minutes. Roos saved comfortably but was immediately writhing in pain and requiring treatment to his back before carrying on.
There was a very poor challenge on Watkins by Lundstram on halfway in the 71st minute, followed by another dig at the prone Aberdeen striker and the Rangers man was incredibly fortunate to get away with just a yellow card. Richardson was booked in the aftermath, though it was unclear why.
Hayes almost sealed the deal on 73, coming on to a Goldson block and taking a first time swing at it, the ball bending just away from goal with McGregor rooted to the spot.
Arfield got lucky with a deflection three minutes later, the ball dropping kindly for him. Roos got down to make a fine save from his shot from a dozen yards out, Ross McCrorie coming across to complete the clearance inside the six yard box.
Arfield had another chance on 80, Tillman threaded the ball to him but from 10 yards out, he made no real connection and placed his shot into the hands of Roos. MacKenzie replaced Hayden Coulson a minute later.
Morris was nearly played in after 82 minutes, Hayes spearing a 50 yard ball forward, Morris on the chase with Devine and having first seemed to get the better out of him, the bounce of the ball favoured the Rangers man who was able to tidy up.
Rangers were pressing and probing, but Aberdeen held firm, forcing Lundstram to shoot from 25 yards out, a straightforward save for the well positioned Roos in the 88th minute. Arfield was in the book a minute later for a hack on Ramadani. Watkins quickly joined him in there for trying to delay a free-kick.
A ragged looking Rangers were level in the fifth minute of added time. Kent's low shot from 25 yards was spilled by Roos and Arfield was the quickest to react to the loose ball to snatch the equaliser.
There was still time for a chance at the other end, Ramadani onto a clearance from a free-kick and firing his s hot wide from 20 yards. Up the other end and Rangers were in on the Aberdeen goal again. Tillman crossed, two Dons defenders went up for the ball, as it squirted across goal, it looked to hit Goldson on the arm and dropped for Arfield who fired in from close range. Morelos was booked for his celebration.