Pep Guardiola’s runaway leaders had not lost in their previous 30 league games – the sixth longest unbeaten run in English top-flight history.
But they were beaten despite a nerve-racking finale in which they almost completed a remarkable comeback by Jurgen Klopp’s impressive Reds.
Goals from Alex Oxlade-Chamberlain, Roberto Firmino, Sadio Mane and Mohamed Salah gave the hosts a 4-1 lead at Anfield. But with just six minutes to go Bernardo Silva pulled one back for City and another goal followed in injury-time by Ilkay Gundogan.
Liverpool just managed to hold out to consolidate their place in the top four. Chelsea were the last team to beat Man City in the league in April of last year. Some thought they could emulate Arsenal’s feat from 2003-04 of going an entire Premier League season unbeaten.