Liverpool drew first blood on 13 minutes thanks to a Mo Salah penalty before Gabriel Jesus levelled just past the half-hour.
Just before the break Kevin De Bruyne missed a penalty after Joe Gomez had handled in the box and Jesus missed a header after the break and the game ended in a 1-1 draw.
Liverpool, seemingly playing 4-2-4, were straight into the attack and could have been ahead inside the first minute as Roberto Firmino raced through only for Ederson to get a crucial hand on the ball as his compatriot went around him.
The visitors were aggressive with a high press and City couldn't get into any meaningful rhythm but on 12 minutes, a moment of controversy that went the visitors' way.
Raheem Sterling was given a shove as he drifted past Diogo Jota and though he tried to stay on his feet, he then slipped inside the box - the referee waved play on, Liverpool broke and as Sadio Mane went down under a challenge from Kyle Walker, Craig Pawson pointed to the spot.
Mo Salah tucked the penalty away, but the City players were still protesting about the free-kick that should have been awarded - but decisions not going our way in this fixture in recent seasons is hardly new!
Sterling had a good chance to level on 26 minutes after Kevin De Bruyne whipped a low cross into the box, but he perhaps took a fraction too long and Allisson managed to block the shot and the danger was cleared.
But City kept going and on 30 minutes were duly rewarded as De Bruyne fed Gabriel Jesus just inside the box and the Brazilian turned away from his marker before poking a low shot past Alisson.
Moments later a wayward Alisson kick found Ilkay Gundogan who played it to his right and De Bruyne fizzed a low shot a foot wide.
Five minutes before the break, City missed a golden chance to take the lead when De Bruyne's cross from the right was clearly handled by Joe Gomes and after a VAR check and trip to the pitch-side monitor, Craig Pawson pointed to the spot.
Agonisingly, De Bruyne put the penalty wide with Alisson guessing wrong.
Almost on half-time, the Merseysiders went close again as Mane found Salah and he in turn found the over-lapping Trent Alexander-Arnold but Ederson was equal to his low shot, almost clawing it back off the line after his initial block.
It had been a breathless 45 minutes.
And there was no let-up after the restart as these two Premier League heavyweights continued to slug it out.
Jota should have done better when he collected a deflected shot before firing a weak shot that Ederson collected easily.
Then, on 55. superb play by Joao Cancelo who cut in from the right before sending a wonderful cross in that Jesus headed wide from six yards - had he directed it on target he would have surely scored.
As the game wore on, so the energy levels dipped on both sides - they had to - and the game was played at a slightly less frenetic pace.
City dominated the majority of the last half-hour but were left rue that missed spot-kick that could have edged this tense battle.
CANCELO IMPRESSES AGAIN
Joao Cancelo has impressed throughout the first few months of the campaign.
The Portuguese right-back - playing as left-back, let's remember - has added a new dimension to attacks down the left with his excellent technique and trickery.
At times he resembles a left winger with his stepovers and dummies, but he also creates chances.
His cross for Jesus just before the hour should have resulted in a goal, but it didn't detract from a fine display from the Portugal star.
And against one of the best attacks in Europe, he defended pretty well, too!