Riyad Mahrez scored a late penalty while Julian Alvarez got his first goal for the club as Pep Guardiola’s side drew 3-3 with Barcelona in a friendly at the Nou Camp.
Alvarez struck early after an error before Pierre-Emerick Aubameyang and Frenkie de Jong scored to make it 2-1.
Cole Palmer tapped home an equaliser but Memphis Depay turned in a cross to restore Barcelona’s lead.
Erling Haaland won a penalty deep in stoppage time, which Mahrez converted.
The charity game had originally been scheduled for last summer but was postponed because of Covid restrictions on attendances.
It had been organised to raise funds for Amyotrophic Lateral Sclerosis (ALS) awareness, in honour of former Barcelona player and coach Juan Carlos Unzue, who was diagnosed with the condition just over two years ago.
Guardiola, whose side host Crystal Palace in the Premier League on Saturday, named a strong side for the game that included summer signing Kalvin Phillips, Phil Foden and Bernardo Silva, who is reportedly the subject of interest from Barcelona.
Meanwhile, the Spanish giants started some of their summer recruits including ex-Leeds forward Raphinha, midfielder Franck Kessie and defender Jules Kounde, who has not yet been registered to play in La Liga because of wage cap restrictions.