Liverpool ended Manchester City's 30-game unbeaten run, after the league leaders were beaten 4-3 at Anfield.
Oxlade-Chamberlain's low strike opened the scoring for the Reds in the 10th minute, before Sane thundered in an equaliser for the league leaders in the 40th minute. Liverpool regained the lead in the 60th minute thanks to a delightful Firmino chip.
Soon after, Mane made it 3-1 with a good finish, before Salah lobbed Ederson from about 40 yards to make it 4-1 in the 68th minute. Bernardo Silva made it 4-2 in the 84th minute, before Gundogan slid in City's third - but it was too late and Liverpool held on for an extraordinary three points.
Jurgen Klopp made three changes to the side which beat Merseyside rivals Everton 2-1
Manchester City boss Pep Guardiola made six changes following their midweek 2-1 League Cup triumph
The visitors were inches away from equalising in the 20th minute. De Bruyne whipped in a low cross from the right which just evaded the reaches of a sliding Aguero. City came close again just two minutes later when Sane found space on the edge of Liverpool's box, the German's subsequent shot flew inches wide of the goal, via a deflection off Lovren.
City were struggling to find a way past the Reds' stubborn defence, and the league leaders were limited to long shots which were failing to test Karius in the Liverpool goal.
That all changed in the 40th minute, however, thanks to some great play from Sane on the left. The winger chested down Kyle Walker's pass before he skipped beyond Gomez's challenge and thundered a shot from a tight angle past Karius at the near post. The goal ensured that City went into half-time level.
The Citizens nearly took the lead in the 51st minute. De Bruyne whipped in a corner from the left, Otamendi flicked a headed effort which saw the ball loop up and bounce off the top of the crossbar.
The Reds came close to regaining the lead four minutes later - in what had been a hectic start to the second-half. A Liverpool corner was palmed away by Ederson, the ball fell to Salah on the edge of the box, but the Egyptian's effort was pushed away by the City keeper.
Liverpool did regain their lead in the 59th minute. The excellent Chamberlain drove forward from midfield and played in Firmino, The Brazilian shrugged of Stone's challenge and chipped a delightful effort which dipped and curled past a helpless Ederson and into the net.
Just two minutes later and Liverpool made it three. Salah skipped past Otamendi's challenge on the edge of the box before he played in Mane, the Senegal international released a vicious shot which flew past Ederson and smacked into the top corner of the net.
Astonishingly, Liverpool made it 4-1 in the 68th minute after a rare error from Ederson. The Brazilian's attempted clearance fell to Salah who - from just inside City's half - curled a looping effort over and beyond the City stopper and into the empty net.
5 – Jurgen Klopp has beaten Pep Guardiola on five different occasions in all competitions; more than any other manager. Flattened. pic.twitter.com/IA5UVmza7Z— OptaJoe (@OptaJoe) January 14, 2018
Bernardo Silva pulled a goal back for the Citizens in the 84th minute. Gundogan played a one two with Aguero just inside the Liverpool box, the German's subsequent shot was blocked and fell to Silva whose effort slid past Karius and into the net.
Manchester City made it 4-3 in the 90th minute. Aguero's cross from the left found an unmarked Gundogan who chested the ball down before poking it past Karius from 10 yards out.
City pushed for an equaliser in the closing minutes, but the Reds held out to secure a vital three points in what was an astonishing game.