The two teams were separated by just one point in the Premier League last term and it took a shoot-out to split them in the season opener at Wembley as it was 1-1 after 90 minutes.
Goalkeeper Claudio Bravo made the decisive intervention, saving Liverpool’s second penalty from Georginio Wijnaldum, with Gabriel Jesus firing home the crucial spot-kick.
City had led for most of normal time after former Liverpool forward Raheem Sterling scored against his old club for the first time in the 12th minute.
Champions League winners Liverpool responded well and went close several times before substitute Joel Matip levelled 13 minutes from time.
Jurgen Klopp’s men almost snatched victory in the dying seconds but Kyle Walker made a dramatic goal-line clearance from Mohamed Salah, who did everything but score in a hard-working display.
The game was a fine contest between two well-matched sides, despite both having players undercooked due to limited pre-season preparations. Liverpool hurried Roberto Firmino and Salah back into their side despite them only returning to training this week and Sadio Mane was unavailable.
City handed a debut to record signing Rodri but record goalscorer Sergio Aguero was on the bench.
The game still started at a lively pace and City, sporting a retro kit to mark their 125th anniversary, had an early chance when Leroy Sane shot into the side netting. Firmino tested Bravo at the other end and Salah shot wide.
City suffered a blow when Sane appeared to jar his knee under a challenge from Joe Gomez. The German, whose future remains the subject of speculation amid reports linking him with Bayern Munich, limped off.
The champions were not hampered, however, taking the lead before Sane’s replacement Jesus had even taken the field. The ball was lofted into the area and David Silva pulled back for Sterling to volley home, although the England forward’s connection was not the cleanest.
Salah threatened an equaliser but dragged a shot onto a post and then blasted over after a poor clearance.
Sterling had another effort beaten away by Alisson Becker before City boss Pep Guardiola was shown the yellow card by referee Martin Atkinson for an angry reaction to a challenge on Silva by Gomez. Guardiola may also have tested Atkinson’s patience by encroaching onto the field to speak to Walker during the ensuing stoppage.
City went close again early in the second half when Silva fired over and Sterling curled a shot against a post, although a flag had already been raised.
Liverpool turned up the heat and hit the frame of the goal twice in quick succession.
First Virgil Van Dijk clipped the ball against the bar from a corner and the ball bounced onto the line and Salah then drove another effort against the post.
Sterling had another chance to double the lead but delayed too long and Alisson denied him.
The equaliser came 13 minutes from time as Van Dijk lobbed a Jordan Henderson free-kick back towards goal and Matip headed home.
Liverpool finished the stronger and Bravo then saved from Naby Keita and Salah, who also had an effort deflected over. Salah went close again in stoppage time but John Stones blocked and the Egyptian’s follow-up header was dramatically cleared off the line by Walker.
With no extra time, the game had to be settled on penalties and Ilkay Gundogan, Bernardo Silva, Phil Foden, Oleksandr Zinchenko and Jesus were all on target for City.