Barcelona and Manchester City put on a spectacular exhibition of attacking football in front of 91,062 fans in aid of ALS awareness on Wednesday.
The charity game had been organized by former Barcelona coach Juan Carlos Unzue, who was diagnosed with amyotrophic lateral sclerosis, also called motor neurone disease, in 2020.
Unzue kicked the ball from his wheelchair before kick-off, drawing huge cheers from the capacity crowd at the Camp Nou.
He then took up a position alongside City manager Pep Guardiola in the away dugout to watch 90 minutes of high-quality action.
Highlights: Barcelona 3-3 Man City
Both teams named a mixture of youth and experience in their starting XIs.
Barca began on the front foot but fell behind midway through the first half when summer signing Julian Alvarez scored from City's first shot on goal.
Two players who have been linked with possible moves away from Barca then turned the game on its head as Pierre-Emerick Aubameyang and Frenkie de Jong scored either side of half-time.
City responded with a Cole Palmer equalizer, set up by Joao Cancelo, to make it 2-2.
But Memphis Depay, another player who could soon be on the move, restored Barca's lead with 11 minutes of the 90 remaining.
The game would go way behind 90 minutes, though, after City defender Luke Mbete suffered a bad injury and had to be carefully carried away in a neck brace, causing a lengthy delay.
Eight minutes into added time, Erling Haaland won City a penalty kick and Riyad Mahrez converted it emphatically.