Manchester City have been beaten for the first time in the league this season, losing a thriller 4-3 at Liverpool.
They went into half-time level, Leroy Sane equalising after Alex Oxlade-Chamberlain had given the home side an early lead.
City then hit the crossbar early in the second half but were then blown away by three goals inside 10 minutes. That was not the end of the drama, with City getting the score back to 4-3, Bernardo Silva and Ilkay Gundogan getting City back into it.
However they couldn't find a fourth and Liverpool held on for a priceless win which boosts their top four credentials but also gives a little hope to City's other challengers at the top of the Premier League table.
It was the home side who started on top and they got an early reward, Oxlade-Chamberlain surging forward and striking well, from 20 yards out to beat Ederson.
He could have had a second, going close later in the first half but City threatened too, notably from Sergio Aguero and Raheem Sterling.
They drew level towards the end of the half and Sane did brilliantly to control the ball and fire home though first Joe Gomez and then keeper Loris Karius could have done better for Liverpool.
City could have gone ahead five minutes after the restart, Nicolas Otamendi's header hitting the top of the bar with the keeper beaten.
However, that was their last chance of victory with Liverpool then scoring three. Robert Firmino got the better of John Stones to chip past Ederson for Liverpool's second, then, after Sadio Mane hit the post, two minutes later he went one better, smashing a shot into the top corner after good work from Mohamed Salah.
Then Salah scored himself, capitalising on a poor clearance from Ederson to chip over the keeper's head and into the empty net.
That was 4-1 and it looked game over but two goals in the last 10 minutes gave City hope and sent shivers through the Anfield home support.
First Gundogan's shot was deflected into the path of Silva and then, in the final minute Gundogan scored after good work from Aguero.
That left time added on but City weren't able to find an equaliser and they will not go through the league season unbeaten.
City still have a 15-point lead at the top of the Premier League table with Liverpool one of three teams now on 47 points.
However Manchester United have a game in hand and can cut the gap to 12 points if they beat Stoke City at Old Trafford on Monday night. They are 1/5 to win with Stoke 16/1.
City are 1/80 to win the Premier League with United priced at 66/1.
View all Soccer betting