John Stones twice cleared off the goalline to deny the Reds, who went into Thursday’s game at Etihad Stadium unbeaten in 20 top-flight outings this season and seven points above the hosts.
However, that run was brought to an end by goals in either half from Sergio Aguero and Leroy Sane, which sandwiched Roberto Firmino’s equaliser midway through the second period.
Stones’ first goal-saving intervention came just after Sadio Mane had hit the post with the deadlock yet to be broken 17 minutes in, and Aguero capitalised on that reprieve shortly before the break.
Firmino’s headed goal - which rounded off a superb move - arrived in the 64th minute, but Sane struck back soon after and, despite late pressure that included Stones again clearing off the line, this time from Georginio Wijnaldum, Liverpool could not muster a second leveller.
Team news
Jürgen Klopp opted for two changes from the 5-1 win over Arsenal, with Jordan Henderson and James Milner returning to the midfield for Fabinho and Xherdan Shaqiri.
Fabinho replaced Milner, playing for the first time in a little under a fortnight following a hamstring injury, 10 minutes into the second half.
First half
There was, as Klopp had warned pre-match, something of a ‘thunderstorm’ for the Reds to weather in the early going.
City made all the initial running but, aside from Sane’s drilled cross that was fielded by Liverpool’s goalkeeper, failed to trouble Alisson Becker.
And, having absorbed that early wave of pressure, Liverpool had built a platform from which they could launch their own attacks.
A patient, flowing eighth-minute move concluded with Fernandinho inadvertently deflecting Trent Alexander-Arnold’s cross goalwards, but Ederson’s handling was clean.
City’s ‘keeper was beaten nine minutes later - unfortunately for Mane, though, the post was not.
Slick passing was again in evidence from the Reds and the No.10 was freed by Mohamed Salah’s through ball.
However, his low shot slid past Ederson and onto the woodwork, with Stones then smashing the loose ball off his ‘keeper before somehow getting back to hook a clearance off the line as Salah lurked.
There was an increasing sense of surety about Liverpool’s work and Mane’s side-footed volley from Alexander-Arnold’s delivery found Ederson’s midriff almost immediately after the Senegalese had struck the post.
Nevertheless, it was the hosts who registered the opening goal five minutes before the interval, when Aguero’s first touch from Bernardo Silva’s cross bought him the space he needed to blast a powerful left-footed shot into the roof of the net from an acute angle.
Second half
Fernandinho found the stand with a long-range effort in the opening stages of the second half, and Alexander-Arnold then did the same at the other end following another promising sequence of play by the away team.
Vincent Kompany had already been forced to hack a low Firmino drive to safety after electing to head away Alexander-Arnold’s free-kick in front of Ederson before Liverpool’s No.9 equalised in the 64th minute.
Alexander-Arnold was again heavily involved, his arrowed cross-field pass finding Andy Robertson, who squared on the volley for Firmino to nod home.
The Reds’ parity was short-lived, however, City responding eight minutes later via Sane. The forward was found free by Raheem Sterling’s ball and duly sent a shot back across Alisson that hit the inside of the post prior to finding the net.
Klopp moved to change things straight away by introducing Shaqiri and a spell of Liverpool dominance ensued after Alisson had made a sprawling save to deny Aguero.
Ederson made a stunning stop to tip Salah’s low shot wide and, from the resulting corner, Stones was there to boot Wijnaldum’s goal-bound attempt away.
Klopp’s team kept pushing and probing, but another equaliser never came.
Match stats