Arsenal boosted their chances of beating Manchester City to the Premier League crown by winning the Community Shield on penalties.
Cole Palmer looked to have won it for City after a largely forgettable 70 minutes in the season opener when the substitute curled in a spectacular shot.
However, Leandro Trossard levelled in the 101st minute when his shot deflected into the net.
That sent the game to penalties, where replacement Kevin de Bruyne hit the crossbar before Rodri’s effort was saved and Fabio Vieira converted to give Arsenal the trophy.
Arsenal led the Premier League for 248 days last season but their challenge fell apart in the closing stages as City overtook them to claim the title as part of a Treble, along with the Champions League and FA Cup.
Gunners boss Mikel Arteta admitted in the build-up to this game that the end of last season still hurt, and was clearly desperate to get one over City, who beat his side home and away last season.
Arsenal’s big summer signings Declan Rice, Kai Havertz and Jurrien Timber were all handed their competitive debuts at Wembley, but it looked like it was going to be a familiar story as Havertz failed to convert two big opportunities in the first half, before Palmer’s stunner put City ahead.
But Arteta’s side showed impressive spirit to battle to the end and got their reward when substitute Trossard struck before keeping their cool to come out on top in the shootout.