Arsenal opened the scoring in the 36th minute through Pierre-Emerick Aubameyang’s fine strike.
The Gabonese striker controlled Mesut Ozil’s pass before twisting past his marker and firing the ball beyond Neto.
It was a tough of class from Aubameyang, who will have a new attacking partner this season in the form of £72 million man Nicolas Pepe. Antoine Griezmann thought he had equalised minutes after Aubameyang’s opener but the Frenchman’s effort was ruled out for offside.
Barcelona began the second half by seizing the initiative and they nearly equalised through Ousmane Dembele.
The France international skipped past two men but his effort curled wide.
This season feels like a big one for Dembele, who hasn’t performed consistently well since joining Barcelona for £135.5 million in 2017.
Barcelona have beaten Arsenal 2-1 to win the Joan Gamper Trophy.
Pierre-Emerick Aubameyang gave Arsenal the lead with a brilliant strike but Ainsley Maitland-Niles scored a comical goal and Luis Suarez scored a winner in the 90th minute.
The fixture, played at the Camp Nou, was a perfect way for both clubs to prepare for the new season.
Carles Alena then came close to scoring but Bernd Leno tipped the midfielder’s effort over.
But Barca were level in the 69th minute through Ainsley Maitland-Niles’ comical own goal.
The 21-year-old attempted to play back to Leno but the Arsenal goalkeeper wasn’t in a position to collect his pass.
The ball trickled into the net despite Sokratis’ best attempts to clear it. And Luis Suarez grabbed the winner at the death.
The Gunners have had a mixed pre-season ahead of the 2019-20 campaign. They’ve recorded impressive wins against Bayern Munich and Fiorentina but were beaten by Lyon in the Emirates Cup and drew against Angers.
And their pre-season concludes with a defeat to Barcelona, although Unai Emery can take positives from the performance.
The Gunners kick-start their season with a trip to Newcastle next Sunday.