All four goals came in a stunning second half where Kevin De Bruyne rescued a point for Pep Guardiola’s side.
The draw sees Liverpool remain in second place with City behind in third.
City dominated the first half and Liverpool needed Alisson to produce fine saves to twice deny Foden.
De Bruyne should have put the visitors ahead 10 minutes before the break but his close-range header went over the bar.
Liverpool went ahead after 59 minutes after Salah skipped past Joao Cancelo to set up Mane to finish past the goalkeeper.
City scored a deserved equaliser 10 minutes later when Foden produced a fine finish from a tight angle.
Salah restored Liverpool’s lead with a stunning solo goal where he jinked past four defenders and slotted the ball over the Ederson.
The champions responded once again five minutes later as De Bruyne’s effort deflected in off Joel Matip.