Marc-Antoine Fortune's header just before the break gave Celtic their first win of the season over Rangers in a pulsating game which saw both keepers substituted through injury and the visitors finishing with 10 men.
Ibrox keeper Allan McGregor injured his knee in the third minute and had to be replaced by Neil Alexander, moments before Lee Naylor fired the home side ahead with a 25-yard free-kick which nicked Light Blues captain Davie Weir on the way in.
Rangers striker Kenny Miller levelled with a header in the 43rd minute before Fortune restored Celtic's lead 60 seconds later when he headed Naylor's cross past Alexander.
Bizarrely, just after the break Celtic keeper Artur Boruc had to be replaced by Lukasz Zaluska after apparently breaking two fingers.
In the dying seconds, Ibrox defender Lee McCulloch, booked in the first half for a foul on Fortune, was sent off after picking up a second yellow card for a foul on Aiden McGeady.
It was an untidy end to a game which always had an edge, with Celtic looking for their first victory over their bitter rivals after three previously unsuccessful attempts this season.
But with Rangers already crowned champions it was only bragging rights at stake.
Both sides were back to full strength after resting players at the weekend but somewhat surprisingly Celtic interim boss Neil Lennon dropped teenage centre back Josh Thompson, who had looked vulnerable drafting in right back Wilson to partner Darren O'Dea.
For the first time since Celtic Park had been fully redeveloped over a decade ago the home section was not full for an Old Firm game.
But those Celts who did turn up were right behind their side in a show of defiance as much as anything else while the 7,500 Light Blues' fans were in full gloat mode, creating a rather surreal atmosphere.
However, there were cheers from the Hoops' fans in the third minute when McGregor signalled that he had hurt his knee following a corner.
The Scotland keeper was carried off on a stretcher to be replaced by Alexander and the first thing he did was picked Naylor's free-kick out of the net after Steven Naismith had clattered McGeady.
It was the defender's first goal of the season, having come back in to favour when Lennon took over Tony Mowbray in March.
Amid some mayhem, Rangers responded positively for the first time four minutes later when Miller's cross from the left was directed past the near post by Kyle Lafferty.
Kevin Thomson and McCulloch picked up bookings as the Govan side struggled to subdue the pace and power of the home side, although the visiting support appeared somewhat unconcerned as they continued their incessant chanting.
With Boruc for the most part just an interested spectator, Rangers defender Steven Smith had to put in a last-gasp tackle to deny Robbie Keane six minutes from the break.
Boruc was then forced in to a good block from Miller but two minutes from the break the former Celtic striker climbed above Wilson to head Steven Whittaker's cross past Boruc.
The visitors' joy was short-lived as a minute later Fortune beat Smith in a one-sided aerial dual from six yards out to get his header past Alexander, who made a lame attempt to save.
Parkhead skipper Scott Brown was cheered by the Celtic fans five minutes after the break when he was booked for a foul on Lafferty and the game continued on its frenetic way.
In the 53rd minute Miller, now playing a lone-striker's role, came close with an effort he had created himself, before Boruc was replaced by Zaluska.
Keane missed a great chance to make it 3-1 moments later when he was through on Alexander but failed to connect properly with his shot allowing the Light Blues keeper to save comfortably.
Miller was giving the Celtic defence plenty of problems and in the 67th minute he stretched to get on the end of a wonderful Whittaker cross but could not hit the target.
Two minutes later the Scotland striker fired just wide from 12 yards after linking up well with Ibrox midfielder Maurice Edu inside the Celtic penalty area.
At the other end, Naylor's searching corner from the right was headed back across goal by O'Dea but Brown headed over.
Georgios Samaras replaced Fortune, Nacho Novo came on for Lafferty and Edson Braafheid took over from Naylor as both sides girded their loins for a frantic finale.
Zaluska made a fine save from Steven Davis's drive before Samaras fired over at the other end after making a yard of space inside the Rangers box.
Still the travelling support sang and six minutes from time, with the champions pushing for an equaliser, Miller struck the post from eight yards.
In the final seconds McCulloch was sent off for picking up his second yellow card, this time for a foul on McGeady and an ugly melee ensued before Miller and O'Dea were booked.
Teams Celtic Boruc (Zaluska 53), Hinkel, Wilson, O'Dea,Naylor (Braafheid 78), McGeady, Brown, N'Guemo, Kamara, Keane,Fortune (Samaras 74).
Subs Not Used: Crosas, Ki, Rasmussen, Thompson.
Booked: Kamara, Brown, Hinkel, O'Dea.
Goals: Naylor 8, Fortune 45.
Rangers McGregor (Alexander 5), Whittaker, Weir, McCulloch,Smith, Davis, Edu, Thomson, Naismith, Lafferty (Novo 77),Miller.
Subs Not Used: Boyd, Broadfoot, Fleck, Little, Stirling.
Sent Off: McCulloch (90). Booked: Thomson, McCulloch, Naismith, Miller.
Goals: Miller 43.
Att: 58,000 Ref: C Murray (Scotland).
