Celtic took a major step towards reclaiming the Scottish Premiership title with a deserved victory at Old Firm rivals Rangers on Sunday lunchtime.
A frantic opening ten minutes saw Rangers rock a flimsy-looking Celtic backline before the visitors responded.
Aaron Ramsey netted his second league goal in as many games, coolly finishing off Ryan Kent's cross for the opener. However, Celtic responded with their first major attack of the game as Tom Rogic tucked in from close range after Allan McGregor palmed Reo Hatate's shot into his path.
The game settled after its chaotic opening, with the next chance presenting itself to goalscorer Rogic. However, the Australian could only curl high and wide when promisingly positioned.
Goalkeeper McGregor was needed to keep the scores level, sprawling at the feet of Daizen Maeda before Connor Goldson and Calvin Bassey combined to deny Rogic a tap-in. Maeda wanted a penalty soon after following a similar interaction with McGregor, though nothing was given.
Celtic had made the better chances in the first half and took the lead as the opening 45 minutes came to an end when Cameron Carter-Vickers slammed in a loose ball from a set-piece.
A broken bottle and shards of glass at Joe Hart's side of the pitch delayed the start of the second half.
Rangers struggled to carve out clear openings, with Kemar Roofe hardly making his presence felt as the replacement for the injured Alfredo Morelos up front. They wanted a penalty for a handball shout against Carter-Vickers, but it was rejected.
Celtic were largely penned in during the final throws as Rangers piled forward looking for an equaliser, but the Bhoys again went close on the counter attack as substitute Liel Abada brought a magnificent save from McGregor. The hosts continued to push to make it 2-2, but late half-chances for Roofe and Sakala proved fruitless.
Rangers player ratings
1. Goalkeeper & defenders
Allan McGregor (GK) - 6/10 - Shovelled a shot straight to Rogic for Celtic's equaliser. Dived bravely and successfully at Maeda when the Japan international looked clean through. Great save to deny Abada late on.
James Tavernier (RB) - 6/10 - Whipped in some dangerous crosses from out wide and limited Taylor's attacking threat bar one occasion. Booked for clattering into Giakoumakis.
Connor Goldson (CB) - 5/10 - Put Rogic under pressure to thwart a goalscoring opportunity. Pretty unconvincing the rest of the time.
Leon Balogun (CB) - 4/10 - Weak header before Carter-Vickers' goal. Some sloppy passes and look a bit rattled throughout.
Calvin Bassey (LB) - 7/10 - Played in Kent before Ramsey's opener. Dealt well with Jota's attempted dribbles, rarely losing their battles.
John Lundstram (CM) - 4/10 - A massive Old Firm tackle from Lundstram earned the midfielder a yellow card. Couldn't clear his lines for Celtic's second goal.
Ryan Jack (CM) - 4/10 - Couldn't get close to Rogic as the Australian impressed in midfield.
Aaron Ramsey (AM) - 7/10 - Arrived on the scene with perfect timing to get Rangers off to the perfect start with a strike from close range. Bit of ring-rust was evident in some of his passing, but he still looked silky in possession before his withdrawal.
Joe Aribo (RW) - 5/10 - Had a few promising moments in decent areas that didn't produce anything concrete.
Kemar Roofe (ST) - 4/10 - Played in the absence of Alfredo Morelos but had a quiet game. Just could not influence proceedings at all.
Ryan Kent (LW) - 7/10 - Great first time ball across goal for Ramsey's strike. Was Rangers' most dangerous outlet alongside Ramsey as they pushed for an equaliser.
Fashion Sakala (AM) - 6/10 - Brought a strong save out of Hart with a fierce low drive.
Scott Arfield (CM) - 5/10
Celtic player ratings
5. Goalkeeper & defenders
Joe Hart (GK) - 6/10 - A few wobbly moments with the ball at his feet. Needed to make a handful of comfortable saves, with a better one coming when he denied Sakala with a strong hand.
Josip Juranovic (RB) - 6/10 - Caught out by the pass for Ramsey's opener. Positioning was pretty off for most of the game.
Cameron Carter-Vickers (CB) - 7/10 - Limited passing range was exposed when Rangers pressed him early on. Popped up to hand his side the lead with his strike. Booked for sliding into Roofe but came into his own as he held off the Rangers onslaught alongside Starfelt, being dominant in the air.
Carl Starfelt (CB) - 6/10 - Read the game well and made a few decent interceptions. Did look quite nervy at times and gave up a few fouls without being booked.
Greg Taylor (LB) - 6/10 - Important and well-timed tackle to rob Kent in his own area. Hobbled off with a knock.
Tom Rogic (CM) - 8/10 - In the right place at the right time to equalise from close range. Missed a decent chance midway through the first half. Had all the time in the world during a pretty disorderly game.
Callum McGregor (CM) - 8/10 - Great burst into the box before Rogic's equaliser. Led from the front all afternoon in a committed midfield display.
Reo Hatate (CM) - 5/10 - Took the shot that McGregor spilt to Rogic. Lookedd knackered throughout, being sloppy on the ball before being subbed just after an hour.
Jota (RW) - 6/10 - His free kick caused the commotion in Rangers' box before Carter-Vickers struck. Didn't get much change out of Bassey on the wing.
Giorgos Giakoumakis (ST) - 6/10 - Similar to Rangers' Roofe up front but had fewer touches, managing only three to Roofe's six in the first 25 minutes. Bad challenge on Roofe earned him a yellow card. Earned fouls later on to buy his side some time to recuperate.
Daizen Maeda (LW) - 6/10 - Looked set to give Celtic the lead during a quiet first half, but was denied by McGregor. Work rate and movement off the ball was immense, in both attack and defence.
Nir Bitton (CM) - 7/10 - Some nice dribbles bought Celtic some respite, as did his tackling. Did get booked
Matt O'Reilly (CM) - N/A - Subbed off after only 14 minutes on the pitch.
Anthony Ralston (RB) - 5/10 - Booked.
Liel Abada (RW) - 6/10 - Missed a wonderful opportunity seconds after coming on, stabbing a shot wide. Somehow denied by a wonderful McGregor stop.
David Turnbull (CM) - 5/10