Andre Silva struck in the 93rd minute with the last kick of the game to unjustly sink Barcelona in San Jose.
The AC Milan forward converted from Franck Kessie’s ball at the Levi’s Stadium, punishing Barcelona for failing to take their chances in a match they were the better side in.
Munir El Haddadi forced Gianluigi Donnarumma into a good save at the start, with the goalkeeper also denying Arthur, while Malcom hit the post.
With the game heading to penalties Riqui Puig missed a huge late chance, firing wide when he might have scored, before Andre Silva’s late intervention.