Morelos then came within a whisker of opening the scoring in meeting a Daniel Candeias cross at the back post but his header from inside the six-yard box sailed wide of target.
The Colombian soon made amends as he successfully converted another delivery at the back post, this time from Tavernier, just after the half-hour mark.
Gers maintained their slender one-goal lead until late in the game when Windass collided with Anthony O'Connor and Joe Lewis in the visitors' box, prompting the referee to point to the spot.
Goalkeeper Lewis was given treatment and was eventually stretchered off in place of Danny Rogers, who was sent the wrong way by Tavernier's spot kick.
The victory, which follows on from two wins in four days across November and December, moves Rangers above the Dons on goal difference and 11 points behind runaway leaders Celtic.
RANGERS (4-2-3-1): Foderingham; Tavernier, Bates, Martin, John; Holt, Goss; Candeias (Cardoso 90+3'), Windass (Halliday 89'), Murphy; Morelos (Cummings 70')
ABERDEEN (4-2-3-1): Lewis (Rogers 80'); Logan, McKenna, O'Connor, Considine; Shinnie, McLean; Stewart (McGinn 59'), Christie, Mackay-Steven (Ball 75'); Rooney