Slovakian striker Filip Sebo struck for Rangers just as they looked like heading for their third Scottish Premier League game without a win.
Filip Sebo scored his first goal at Ibrox for Rangers
Aberdeen goalkeeper Jamie Langfield denied the Glasgow side the lead with a point-blank save that thwarted Rangers captain Barry Ferguson.
Chris Clark struck the post as the Dons squandered chances of their own.
But Sebo thumped the ball home after the ball broke to him in the penalty box with just two minutes remaining.
Sebo had started the game on the bench along with Kris Boyd, defender Sasa Papac having come into the side following the midweek Uefa Cup win over Molde.
Rangers were the livelier team in the opening minutes, with some timely interceptions preventing the creation of chances on goal.
Unchanged Aberdeen's first real opportunity fell to Andrew Considine, but the defender's header from eight yards flashed just wide of the target.
Rangers' pleas for a penalty were ignored by the referee as Dado Prso went to ground under pressure from Michael Hart six yards from goal.
Rangers should have taken the lead just before the break - when Charlie Adam delivered the ball to Ferguson.
But the midfielder's point-blank header was held by Langfield.
Hart hauled down Prso, who claimed the challenge had taken place inside the box.
But, again, there was no penalty.
News of Celtic's late winner over Falkirk had filtered through to Ibrox and Rangers were out the traps quickly after the break.
But Sionko squandered a brilliant opportunity when he blazed over when confronted with a gaping net just seconds after the restart.
Adam then watched in despair as his powerful drive fizzed past the upright.
Aberdeen's Russell Anderson hobbled off, to be replaced with Zander Diamond, while Boyd was thrown into the action in place of the injured Sionko.
But it was Richard Foster who almost gave Rangers a helping hand when he sliced just over his own net.
The Dons almost snatched the points when Diamond's header sneaked just over the crossbar.
There was another let-off for Rangers when Clark found himself one-on-one with the goalkeeper and looked certain to find the back of the net.
But he could only look on in horror as his lob came off the post.
That miss proved costly when substitute Sebo grabbed the winner with three minutes to go.
A free-kick caused havoc in the Dons goalmouth and, when the ball fell at the feet of Sebo, he lashed home from eight yards.
Rangers: McGregor, Bardsley, Rodriguez, Papac, Smith, Sionko (Kris Boyd 57), Hemdani, Ferguson, Adam (Sebo 77), Buffel, Prso (Martin 67). Subs Not Used: Robinson, Rae, Svensson, N'Diaye.
Booked: Papac, Sebo.
Goals: Sebo 88.
Aberdeen: Langfield, Hart, Anderson (Diamond 56), Considine, Clark, Nicholson, Severin, Dempsey, Foster, Miller, Mackie (Daal 65).
Subs Not Used: Soutar, Daniel Smith, Winter, Donald, Maguire.
Booked: Considine, Hart.
Ref: C Richmond