Watch: Celtic & Rangers players clash after final whistle
Celtic moved 13 points clear of Rangers at the top of the Scottish Premiership after a pulsating Old Firm derby that featured three goals, two red cards - one of them after the final whistle - off-the-ball flashpoints and an 86th-minute winner by James Forrest.
Neil Lennon's men have now all but secured an eighth consecutive top-flight title with only seven league games remaining following their second derby win of the season.
Odsonne Edouard stroked the hosts ahead after 27 minutes, before Alfredo Morelos was dismissed for the fifth time this term for an off-the-ball elbow to the face of Scott Brown after the Celtic captain clipped his heels.
Ryan Kent hauled Rangers level after 63 minutes with a stunning solo effort and the final 15 minutes were played with both sides down to 10 men after Celtic's Dedryck Boyata was forced off injured with Lennon having made all three of his substitutes.
But Celtic pounced after a loose pass from James Tavernier - Forrest racing into the box to slide in the winner, before Kent shoved Brown to the ground as the home skipper prevented him retrieving the ball for kick-off.
The visitors almost rallied again, but Joe Worrall's effort from three yards out was deflected wide by Kristoffer Ajer.
And Rangers' Andy Halliday was sent off in the tunnel after a scuffle between the two sets of players on the full-time whistle.
Lennon, now in his second stint as Celtic manager, has won seven of the 13 Old Firm fixtures he has overseen, drawing two and losing four.
Unstoppable counter & preventable red
Celtic had Kieran Tierney restored at left-back after he missed the recent Scotland double-header and even before the hubbub of Edouard's goal - followed in rapid order by Morelos' brainless red card - the home team seemingly had everything under control.
In the opening four minutes alone, Allan McGregor had to beat away efforts from Olivier Ntcham and Edouard. Not long after, Ntcham had another chance but sclaffed it wide. Rangers had little possession and little momentum - and then they fell behind.
It was a counter-attack that did it - swift, direct, unstoppable. Daniel Candeias gave it away at one end and Edouard went galloping down the other. The striker ran and ran. He bamboozled the retreating Worrall, made a little space for himself and then finished with aplomb.
His 19th goal of the season was acclaimed lustily by the home support - a little too lustily. In the corner of the ground some Celtic fans spilled over the barrier and on to the edge of the pitch. A steward was knocked over in the process and needed treatment. The football authorities will need to take a little look at what happened in those moments.
Rangers' day went from bad to worse a few minutes later when Morelos walked. He was wound up by Brown, who flicked his heels as both men were jogging downfield, but the reaction - a swinging arm straight into Brown's face - was (again) the most ridiculous overreaction, the act of a player with little self-control and a very loose grasp on what it is to be a good professional.
Taking the bait from Brown was embarrassing and it put Rangers in all sorts of trouble.
Alfredo Morelos was red-carded after striking Celtic captain Scott Brown off the ball'Celtic became flat & unthreatening'
At that stage you wouldn't have given tuppence for Rangers chances, but from a position very firmly under the cosh they fronted up and turned the game on its head.
They could have had a penalty early in the second half when Tavernier went down under a challenge from Scott Sinclair, who came on at the break for Jonny Hayes. Sinclair was involved again five minutes later when Callum McGregor put him one on one with McGregor in the Rangers goal, the keeper winning the duel.
For all their early dominance, Celtic were still not at their fluent best and their level dropped bit by bit as the contest wore on. They became flat and unthreatening. The gas went out of quite a few of them and Celtic Park became jumpy.
It grew jumpier still when Kent brushed off Brown and Mikael Lustig to score a wonderful equaliser. That goal made the stadium a little more nervous and a little angrier. Boyata and Lustig went off injured, the former punching the dugout in fury.
Celtic ran out of subs and played the last 15 minutes with only 10 men. Level-pegging in personnel, but the impetus was all with Rangers. Kent was outstanding.
Ryan Kent's well-taken goal hauled Rangers level at Celtic ParkLennon's men strike 'knockout' blow
There was drama to come. Four minutes before the end, when Lennon was beginning to get stick from sections of his own support, Tavernier gave it away and the champions pounced. McGregor fed it into the terrific Edouard, who laid it off to the onrushing Forrest. The winger finished emphatically and, suddenly, Celtic Park was alive again, liberated from the tyranny of a hard-pressing Rangers.
Even at that late stage, the visitors had a huge chance to level it when Kent's shot was spilled by Scott Bain. Just as Worrall was about to put the ball into Celtic's net, Ajer got there first and hoofed it clear. The Norwegian celebrated like a fighter would greet a knockout. In a sense, it was. Celtic are now 13 points clear at the top of the league and have all but disappeared over the horizon from the rest.
On full-time, there was a bitter melee, sparked by Brown and Halliday and then added to by multiple others from both sides. Lustig ended up parading around the pitch with his torn shirt hanging off him. Bobby Madden showed Halliday a red card after the game.
There will be an examination of what happened amid the confusion, but what's indisputable is that despite Rangers throwing everything they had at Celtic, it just wasn't enough.
James Forrest slid in a late winner to give Celtic a second Old Firm win of the season