Last updated on .From the section Scottish Premiership

Celtic ended Rangers' 12-game unbeaten run and moved three points clear at the top of the Scottish Premiership with victory in a frantic Old Firm contest.

Neil Lennon's side had lost their past two derbies at Ibrox, but a makeshift defence thwarted Rangers' attempts to win for a third time in four meetings.

Odsonne Edouard netted his fifth goal in seven games against Rangers just after the half-hour, then Jonny Hayes rolled in after a stoppage-time counter-attack before Jordan Jones was sent off for a lunge on Moritz Bauer.

It was just a second defeat in 19 games for Steven Gerrard's side and the first time in six Old Firm games that the home side have failed to win.

For Celtic, it is a fifth consecutive league victory since their loss at Ibrox in May as they attempt to win a ninth title in a row.

Odsonne Edouard slid Celtic in front with his fifth goal in seven Old Firm appearances

Meek Rangers bossed by composed Celtic

Rangers had won both of last season's Old Firm fixtures at Ibrox by pressing Celtic so high and so energetically that the champions buckled. But the opposite was true on this occasion as Lennon's side bossed the midfield battle and remained steadfast and composed in defence, nullifying the threat from their hosts.

In truth, there was little to commend the game until Edouard burst into life to open the scoring.

Connor Goldson was guilty of an awful pass forward, gifting possession to Michael Johnston, who still had plenty to do, driving towards the Rangers penalty area before slipping the ball to the Frenchman. He showed trademark composure to slide the ball under the advancing Rangers goalkeeper and send the 800 or so visiting fans into raptures.

The goal was the game's first effort on target but it took Rangers almost an hour to mount a meaningful response as half-time substitute Sheyi Ojo forced Fraser Forster to turn the ball around a post.

Rangers threw on Alfredo Morelos and Jones in an effort to rescue at least a point but it was Allan McGregor in the home goal who had to look lively to keep close-range efforts from Hatem Elhamed and Christopher Jullien out with his feet in quick succession.

The home side forced a series of corners but could not test Forster again - meekly slipping to a first defeat since the final day of last season.

Rangers substitute Jordan Jones was dismissed in stoppage-time for a lunge on Moritz Bauer

If that result had been in any doubt, Hayes' late strike ended it. Edouard and Olivier Ntcham combined to release the substitute, who was denied at first by McGregor only to hammer in the rebound with the keeper grounded.

Rangers' misery was compounded by Jones' late red card for scything down debutant Bauer - a reckless, ill-disciplined act from the winger.

Until then referee Bobby Madden had showed great leniency, letting Callum McGregor and Ryan Jack off with bad challenges as well as a incidence of simulation from McGregor. Indeed, it took until 90th minute for the official to show a card. Scott Arfield and Hayes went into the book for late infringements, but controversy - like quality football - was largely absent.

Celtic, though, underlined their determination to make it nine in a row, comfortably seeing off their closest rivals.

Man of the match - Odsonne Edouard

He loves this fixture and his decisive strike - his fifth in seven Old Firm games - was a masterclass in cool finishing, having peeled off his marker to collect Johnston's pass.

He kept Goldson and Nikola Katic occupied throughout and had his say in the build-up to the second goal as well.

'Celtic deserved to win' - analysis

Former Celtic goalkeeper Pat Bonner on Sportsound

I thought Celtic handled the game very well. Rangers took the game to them, but Celtic defended very well. I thought Jullien was immense and even contributed to the second goal.

Former Rangers striker Billy Dodds on Sportsound

Celtic deserved to win. Rangers did everything they could. The effort was there, but their quality didn't show up at key times. You could see Scott Brown had a point to prove and he did that.