Superb goals from Stilian Petrov and Craig Bellamy gave Celtic a victory at Ibrox that virtually ensures the champions another Scottish title.
Petrov powered a header into the corner of the net from a Didier Agathe cross and Bellamy broke clear to curl the second goal home before the break.
A Marvin Andrews header struck the bar and Sotirios Kyrgiakos had an effort cleared off the line for Rangers.
Steven Thompson fired home late on, but Celtic held on to go five points clear.
Rangers manager Alex McLeish had gambled on recalling defender Andrews, who has refused to undergo an operation for a cruciate ligament injury.
Thomas Buffel was relegated to the bench after remarks suggesting he did not like the combatative nature of Scottish football and was replaced with Hamed Namouchi in midfield.
French wing-back Agathe returned to the Celtic side for the first time since January's Old Firm derby.
Rangers won 2-0 at Celtic Park that day, but signs that the story would be reversed came in the opening minute, when Ronald Waterreus had to save at the feet of Bellamy.
Nacho Novo blasted well over after racing clear to the edge of the Celtic penalty box.
He paid for that miss when Petrov opened the scoring after Agathe swung in a cross and the midfielder stole in front of Andrews to score.
The scorer was struck by an object thrown from the stand and booked for over-celebrating as the match threatened to turn ugly.
Kyrgiakos missed a great chance for an equaliser, diving to head straight at goalkeeper David Marshall from five yards.
The Greek defender's misery was quickly compounded when he allowed Bellamy, gathering a through ball from Alan Thompson, to turn inside him and fire the second goal home from the edge of the box.
Marshall was forced into a superb, finger-tip save when Dado Prso let fly from the edge of the Celtic box.
And Andrews' effort struck the face of the crossbar after Marshall failed to cut out a Ricksen corner kick.
Beattie, on early in the second half for the injured Bellamy, forced Waterreus into a point-blank save and ought to have done better than blast over after being put clear.
Novo came close at the other end, Marshall blocking one poked effort and then being rescued by Jackie McNamara on the goalline after being rounded by the Spanish striker.
Waterreus saved well from a Stan Varga shot on the turn, but it was Rangers piling on the pressure and Agathe hacked a Kygiakos header off the line.
Substitute Thompson gave McLeish's side some late hope, blasting home from four yards following a goalmouth scramble, but it was Celtic who secured a deserved victory.
Rangers: Waterreus, Ross (Buffel 45), Andrews (Malcolm 83), Kyrgiakos, Ball, Namouchi, Ricksen, Ferguson, Vignal (Thompson 76), Novo, Prso.
Subs Not Used: McGregor, Alex Rae, Burke, McCormack.
Booked: Vignal, Novo, Kyrgiakos.
Goal: Thompson 88.
Celtic: Marshall, Agathe, Balde, Varga, McNamara, Petrov, Sutton, Lennon, Thompson, Bellamy (Beattie 48), Hartson, Beattie (Wallace 90).
Subs Not Used: Douglas, Henchoz, Lambert, Maloney, McGeady.
Booked: Petrov, Bellamy, Agathe, Hartson.
Goals: Petrov 21, Bellamy 34.
Ref: S Dougal