Arsenal scored a last minute equaliser to take the Community Shield to penalties and then downed Manchester City in the shoot out in dramatic scenes at Wembley.
Cole Palmer looked to have won the game for City when the substitute curled in a superb goal on 77 minutes, but as the game went deep into injury time the Gunners struck back.
11 minutes after the 90 another substitute, Leandro Trossard, got hold of a short corner, cut into the box and had a pop at goal which was deflected past goalkeeper Stefan Ortega, taking the game to pens.
There was a surprise early in the shoot out as Kevin De Bruyne hammered his penalty against the cross bar after Martin Odegaard had opened the scoring for Arsenal.
Trossard and Bukayo Saka made no mistake for Arsenal before Rodri saw his effort saved by Aaron Ramsdale, allowing Fabio Vieira to score the winner and complete a 4-1 win on penalties.
It may be a pre-season contest, but there were wild celebrations from the Arsenal side after downing the team which broke their hearts at the end of the last campaign.
Arsenal competed well with the treble-winners, with summer signings Declan Rice, Jurrien Timber and Kai Havertz all in the starting line-up, but lacked a cutting edge up front.
It was a recognisable Manchester City line-up, with just one new arrival in Mateo Kovacic slotting into the midfield alongside Rodri after joining from Chelsea this summer.
The match was played with an interesting level of competitiveness, as neither side really played at the pace and with the zip you would expect from a Premier League contest, but there were some feisty, physical challenges going in from both sides.