Rangers were fortunate to take all three points thanks to a late goal by substitute Filip Sebo.
It was cruel luck on Aberdeen, who minutes before had watched a Chris Clark effort hit the post.
By that stage Rangers appeared to have lost their way and it was Aberdeen who were creating the chances with substitute Dyron Daal proving a handful.
The home team started well but Dado Prso delayed too long in shooting and was crowded out.
Thomas Buffel's astute pass released Steve Smith into the area but, rather than shoot, the wing-back crossed and the chance was lost.
Charlie Adam hit a long-range free-kick at Jamie Langfield before Sasa Papac made a good interception after a slip by Julien Rodriguez.
Buffel beat Langfield to a throughball but his chip at goal was held by the keeper.
A clever cross by Adam found Barry Ferguson clear in front of goal, but his header was too direct and the keeper gathered.
Referee, Charlie Richmond, incurred the wrath of the home support when Michael Hart pulled back Prso in the box, but the referee decided the offence was committed on the 18-yard line. Phil Bardsley sent the resultant free kick harmlessly over.
Just after the break Libor Sionko missed a simple chance for Rangers when he shot over from only six yards.
After Prso departed, Rangers ran out of attacking ideas and Clark was unlucky not to be put Aberdeen ahead.
The midfielder skipped over Rodriguez's wild challenge before advancing on Allan McGregor and looked to have done everything right, until his shot came back off the inside of the post.
The Gers punished the visitors when Sebo spun and sent a left-foot shot low into the corner of the net after efforts by Rodriguez and Buffel had been blocked.