I första halvlek tog Joe Garner en räddning från Aberdeen-vaktmästaren Joe Lewis och gick över för Martyn Waghorn till Volley.
Aberdeen dominerade efter pausen som Wes Foderingham räddade från Kenny McLean och två gånger från anfallaren Adam Rooney.
Men Kenny Millers tandställning och Joe Dodoos tredje förtjänade Rangers vinsten.
Aberdeen är fortfarande väl placerade för att avsluta löpare upp till Premiership mästare Celtic, med nio poäng och en långt överlägsen målskillnad skilja dem från Rangers med bara sex matcher kvar.
Derek McInnes män började matchen som favoriter och de tidiga tecknen föreslog att de skulle leva upp till sin fakturering när de tryckte, kämpade och jagade Rangers över varje tum av planen.
Det var mer en blåmärken strid än ett vackert spel, dock, och domare Kevin Clancy blinkade kort tidigt, med Garner och Ryan Jack den första att bokas som de squared upp till varandra.
För all sin brist på fritt flödande fotboll, var det ett mycket påfallande skådespel. Jonny Hayes tvingade en låg räddning från Foderingham i ena änden och Waghorn borde ha spruckit nätet snarare än volleying över efter ett överdådigt kors från Garner till höger.
Besökarna hade faktiskt de bästa chanserna i det tidiga skedet trots sin brist på fluiditet i mittfältet.
Rangers manager Pedro Caixinha sade i förväg att hans spelare var i helvetet med denna resa men det såg mer ut som limbo som båda sidor fortsatte att avbryta varandra ut. Portugiserna var också väl medvetna om att något annat än seger i bästa fall skulle leda till att hans sida hamnade på tredje plats.
Ibroxsidan har uppenbara svagheter just nu, särskilt i försvaret där ungdomar ställföreträdare för mer erfarna skadade stammisar, men de visade strid och anda som skulle belönas senare i matchen.
Unge David Bates såg långsam och älskvärd ut ibland även om Myles Beerman på vänster sida var komponerad och lugn när det behövdes.
När Aberdeen klickar, är det mest ner till hårt arbete av deras imponerande breda män och så var det i andra halvan som Niall McGinn och Hayes terroriserade Rangers full-backs.
Hayes hoppade över två på väg till lådan men Graeme Shinnies skott blockerades av Foderingham. McGinn var på den andra sidan och hans knep var mata Rooney men hans kollega irländare kunde inte konvertera trots flera förgyllda inbjudningar.
Man kunde känna tidvattnet vändas men och Rangers kämpade för att begränsa vågorna av röd misshandel deras försvar.
Men för alla deras ansträngningar var det få chanser som på allvar prövade Foderingham.
Med 11 minuter kvar, veteran anfallare Miller gjorde sin 10: e mål i 40 framträdanden den här säsongen. Mot loppet av leken skapade Waghorn utrymme för sig själv i lådan och när hans skott räddades, 37-årige Miller surrade en fantastisk insats högt in i baksidan av nätet.
Aberdeen hade ingen tid att komponera sig innan Miller gjorde det två när han hoppade genom ett försvar i disarray för att glida prydligt förbi Lewis och skicka det lilla bandet Rangers fans vilda.
Substitute Dodoo spelade sin roll i det andra målet och han slog hem en tredjedel för att slutföra en otrolig fem minuters turnaround som skickade Dons fans kilande för utgångarna i misstro.
De som fortfarande i trots nästan bevittnade en Miller hat-trick som han följde upp på Dodoos skott som kom tillbaka från crossbaren men försvarare Andrew Considin skonade ytterligare rouges när han rensat bort linjen.
Matchen slutar, Aberdeen 0, Rangers 3.
Andra halvlek, Aberdeen 0, Rangers 3.
Försök blockerat. Kenny Miller (Rangers) höger fotade skott från mitten av lådan är blockerad.
Joseph Dodoo (Rangers) träffar baren med en höger fotad skott från mitten av lådan.
Foul av Jonny Hayes (Aberdeen).
Josh Windass (Rangers) vinner en frispark i anfallshalvan.
Kenny McLean (Aberdeen) vinner en frispark på högerkanten.
Foul av Kenny Miller (Rangers).
Foul av Graeme Shinnie (Aberdeen).
Josh Windass (Rangers) vinner en frispark i den defensiva halvan.
Försök missade. Adam Rooney (Aberdeen) höger fotade skott från mitten av lådan är nära, men missar till höger.
Jayden Stockley (Aberdeen) vinner en frispark i defensiva halvan.
Foul av David Bates (Rangers).
Mål!  Aberdeen 0, Rangers 3. Joseph Dodoo (Rangers) höger fotade skott från vänster sida av lådan till nedre vänstra hörnet.
Substitution, Aberdeen. Jayden Stockley ersätter Anthony O'Connor.
Mål!  Aberdeen 0, Rangers 2. Kenny Miller (Rangers) höger fotade skott från mitten av lådan till nedre vänstra hörnet. Hjälpt av Joseph Dodoo.
Substitution, Rangers. Andy Halliday ersätter Martyn Waghorn.
Mål!  Aberdeen 0, Rangers 1. Kenny Miller (Rangers) höger fotade skott från höger sida av lådan till den höga mitten av målet.
Adam Rooney (Aberdeen) vinner en frispark i den defensiva halvan.
Foul av James Tavernier (Rangers).
Graeme Shinnie (Aberdeen) vinner en frispark på vänsterflygeln.
Foul av Jon Toral (Rangers).
Hörnet, Aberdeen. Förföljd av Myles Beerman.
Foul av Graeme Shinnie (Aberdeen).
David Bates (Rangers) vinner en frispark i anfallshalvan.
Hörnet, Aberdeen. Förföljd av James Tavernier.
Försök missade. Andrew Considine (Aberdeen) rubrik från mitten av rutan är för hög efter en set bit situation.
Substitution, Rangers. Joseph Dodoo ersätter Joe Garner.
Jonny Hayes (Aberdeen) vinner en frispark i den defensiva halvan.
Foul av Jason Holt (Rangers).
Shaleum Logan (Aberdeen) vinner en frispark i den defensiva halvan.
Foul av Jason Holt (Rangers).
Anthony O'Connor (Aberdeen) vinner en frispark i den defensiva halvan.
Foul av Joe Garner (Rangers).
Foul av Kenny McLean (Aberdeen).
Joe Garner (Rangers) vinner en frispark i anfallshalvan.
Foul av Kenny McLean (Aberdeen).
Jason Holt (Rangers) vinner en frispark på vänsterflygeln.
Hörnet, Aberdeen. Förföljd av Danny Wilson.
Hörnet, Aberdeen. Förföljd av Wes Foderingham.
Rangers gjorde tre gånger i fem sena andra halvan minuter för att avsluta andra plats Aberdeens körning av 10 raka hem vinner och minska gapet till nio poäng.