Manchester City have inflicted a first league defeat of the season on Liverpool to close the gap at the top of the table to just four points.
The top-of-the-table showdown was played at a frantic pace from start to finish as champions City faced the prospect of falling as much as 10 points adrift of the previously unbeaten league leaders, who had won their last nine top-flight outings heading into tonight’s match.
Sergio Aguero blasted the home side in front shortly before half time, but Liverpool levelled things up through Roberto Firmino and would have been much happier with a draw than their hosts.
However, Leroy Sane produced a pinpoint finish with less than 20 minutes remaining to hand City a crucial three points in the title race as they moved back into second place above Tottenham Hotspur.
It took the hosts until just before the half-hour mark to create something resembling a chance of their own when Raheem Sterling latched on to a pass down the right channel before cutting inside and teeing up David Silva, but the Spaniard saw his unconvincing effort blocked by Virgil van Dijk.
City were fortunate not to go down to 10 men shortly afterwards when Vincent Kompany escaped with a yellow card for a lunging challenge on Salah, who was almost able to pick off a misplaced pass from Stones.
The telling moment of the first half arrived after five minutes when Aguero provided the moment of quality City had been searching for, bringing up his 250th league goal in explosive fashion by lashing a left-footed half-volley past Alisson Becker and into the roof of the net from the tightest angle.
The goal also saw Aguero become the first player to score in seven successive home Premier League games against a single opponent, and it sent Guardiola’s side into the interval with the lead following a first half in which little separated the two sides.
Sterling saw a penalty shout turned down and the tireless Fernandinho fired an effort well off target in the opening stages of the second half, but Liverpool began to grow back into the game as they went in search of the equaliser.
Trent Alexander-Arnold fired one effort against the stanchion from the edge of the area before Firmino saw another shot cleared off the line, with Ederson having come for a free kick but been beaten to the ball by his own man.
Danilo had also come close at the other end having been allowed room to shoot, but the Brazilian could not prevent his compatriot Firmino from levelling things up shortly after the hour mark.
Alexander-Arnold floated an inch-perfect cross over the head of Danilo for Andrew Robertson, who in turn played it back across the face of goal for Firmino to send a simple stooping header into the empty net.
Parity lasted just eight minutes, though, as City – who knew that they need for victory was far greater than Liverpool’s came storming back to regain the lead in the 72nd minute.
Sterling was the creator against his former club as he darted inside before finding Sane, but the German still had plenty to do and his pinpoint finish across goal struck the inside of the post before going in.