Leroy Sane scored the winning goal as Manchester City handed Liverpool a first Premier League defeat of the season with a 2-1 win at Etihad Stadium to close the gap on the leaders.
The visitors almost took the lead on 18 minutes when Sadio Mane's toe-poke came back off the post and John Stones struck his attempted clearance against Ederson before stretching to hook the looping ricochet off the goalline.
But it was City who took the lead five minutes before half-time. Sergio Aguero stole ahead of Dejan Lovren to beat Alisson at his near post for his seventh goal in as many home matches against Liverpool.
On 64 minutes Liverpool were level, when Trent Alexander-Arnold's diagonal ball was cushioned back across goal by Andy Robertson and Roberto Firmino headed in from close range.
Sane restored City's advantage in the 72nd minute, firing in via the far post after racing on to Raheem Sterling's pass.
Victory means the defending champions are now in second place, four points behind Liverpool, who are top with 54.
See: Man City report | Liverpool report
Next fixtures
Man City: 14 Jan v Wolves (H)
Liverpool: 12 Jan v Brighton (A)
WHO'S GOING TO BE YOUR
MAN OF THE MATCH?
Vote at Full-time