The Egyptian scored the Reds' fourth goal as Pep Guardiola's side were beaten 4-3, in a win that moves the Merseysiders into third place in the table.
Here's a look at all Sunday's results, the Premier League's top scorers and the updated table.
Bournemouth 2-1 Arsenal
Liverpool 4-3 Manchester City
Harry Kane (Tottenham Hotspur), 20 goals
Mohamed Salah (Liverpool), 18 goals
Raheem Sterling (Manchester City), 14 goals
Sergio Aguero (Manchester City), 13 goals
Roberto Firmino (Liverpool) 10 goals
Alvaro Morata (Chelsea), 10 goals
Premier League Table
1. Manchester City 62 (50)
2. Manchester United 47 (29)
3. Liverpool 47 (26)
4. Chelsea 47 (25)
5. Tottenham Hotspur 44 (25)
6. Arsenal 39 (11)
7. Burnley 34 (-1)
8. Leicester City 31 (2)
9. Everton 27 (-13)
10. Watford 26 (-9)
11. West Ham United 25 (-12)
12. Crystal Palace 25 (-12)
13. Bournemouth 24 (-11)
14. Huddersfield Town 24 (-20)
15. Newcastle United 23 (-10)
16. Brighton & Hove Albion 23 (-12)
17. Southampton 21 (-11)
18. Stoke City 20 (-24)
19. West Bromwich Albion 19 (-12)
20. Swansea City 17 (-21)
There's no doubt the game of the weekend was at Anfield as Premier League leaders Manchester City and Liverpool served up a seven-goal thriller.
The Reds got off to a great start with Alex Oxlade-Chamberlain surging forward and powering a shot past goalkeeper Ederson after just nine minutes.
Opta showed how his goalscoring record has improved since moving to Anfield:
City came back into the game with Kevin De Bruyne starting to exert an influence and producing a cross from which Sergio Aguero was inches away from converting.
However, City did manage to get back on level terms just five minutes before half-time. The ball was fired out wide to Leroy Sane, and he cut inside and beat Joe Gomez before firing past Loris Karius at his near post.
Match of the Day's Gary Lineker was not too impressed with Liverpool's defending:
City almost went ahead at the start of the second half with Nicolas Otamendi heading onto the crossbar but then went behind for the second time as Roberto Firmino shrugged off John Stones and clipped the ball past Ederson.
Sadio Mane then fired a shot into the top corner, just minutes after hitting the post, with Liverpool's high pressing and pacy attack causing City all sorts of problems.
Liverpool were completely dominant and then looked to have secured the win with Salah producing a brilliant chip over Ederson from range after the goalkeeper had come out and hit a poor clearance.
The game looked over, but City did manage to set up a nervy finish as late goals from substitute Bernardo Silva and Ilkay Gundogan gave the visitors hope.
However, Liverpool managed to hang on for an impressive win, although the two late goals again showed their vulnerability. City, meanwhile, still have a healthy lead at the top of the table, but Guardiola will have plenty to ponder after a first defeat.
Bournemouth and Arsenal kicked off the action on Sunday with the Gunners without top scorer Alexis Sanchez amid continued speculation over his future.
Manager Arsene Wenger explained why he had omitted the Chilean from his starting lineup, per Bryan Swanson at Sky Sports:
With Sanchez missing, Arsenal looked to Alex Iwobi, Danny Welbeck and Alexandre Lacazette to provide the attacking threat, but the Gunners looked devoid of ideas in the first half.
Their most impressive player was instead Jack Wilshere, who was excellent in possession and looked to dictate the play. His first-half display was shown by Arsenal's Twitter account:
Arsenal did, however, go ahead in the second half as Iwobi played a one-two with Granit Xhaka before sliding in Hector Bellerin. The full-back had few options and so chose to shoot across goal with goalkeeper Asmir Begovic managing to get a hand to the ball but unable to keep it out.
It was the first time in his career that Bellerin has scored in consecutive Premier League games, per Sky Sports Statto:
With the lead established, and with Bournemouth offering little in attack, the game looked to be Arsenal's for the taking, but once again their frailties were exposed.
With 20 minutes of normal time remaining, Ryan Fraser's cross tempted Petr Cech to come and collect, but Callum Wilson nipped in ahead of the goalkeeper and levelled the scores.
WhoScored showed how it was not Cech's first mistake of the season:
Bournemouth then scored again four minutes later as Wilson was given too much time and space in the area and set up Jordon Ibe to fire home.
Opta showed how quickly the game was turned on its head:
The result leaves Arsenal in sixth place but now eight points behind Chelsea in fourth, and it's another dent to their top-four hopes. Wenger also has plenty of problems to solve, not least Sanchez's future, but also how to reinvigorate his team who looked blunt in attack and weak defensively.