This was Manchester United's 23rd Community Shield appearance and Arsenal's 18th. Manchester United were without seven of their first-choice players for the game, which meant David Bellion and Eric Djemba-Djemba came into the starting 11. Cesc Fàbregas started alongside Gilberto Silva in midfield for Arsenal as captain Patrick Vieira was absent. After a goalless first half, Arsenal took the lead when Gilberto scored in the 50th minute. Striker Alan Smith equalised for Manchester United soon after, but José Antonio Reyes put Arsenal back in front after United's defenders failed to clear the ball. Mikaël Silvestre scored an own goal 11 minutes before the end that ensured Arsenal's victory.

Manchester United manager Sir Alex Ferguson was complimentary of his opponents afterwards and was pleased there were no new injuries to report. Opposing manager Arsène Wenger praised Fàbregas's performance and reiterated his desire to keep Vieira at Arsenal, after speculation regarding the player's impending transfer to Real Madrid.

Meetings between Manchester United and Arsenal were often eventful encounters, as both clubs vied for domestic honours.[13] A goalless draw between the two clubs in September 2003, in which Ruud van Nistelrooy missed a penalty in stoppage time, resulted in an altercation between both teams.[14] Several Arsenal players were charged and fined accordingly by The Football Association (FA) for instigating the brawl; the club was later fined £175,000, the largest ever given to a club by the FA.[15][16]

Manchester United manager Sir Alex Ferguson said in his press conference: "The game will be competitive. Prestige comes into it, pride comes into it, so it is always competitive when we play Arsenal."[17] He wanted to use the game as a means of preparing his team for their UEFA Champions Leaguethird qualifying round game against Dinamo București the following Wednesday.[18] Ferguson was concerned about the state of his squad, with several first team players injured. He was irked that senior players Cristiano Ronaldo and Gabriel Heinze were absent, on duty for their respective national teams at the Summer Olympics: "Apparently, it's supposed to be for amateurs, and money earned is put in trust, but we will be paying their wages while they are away so I don't know what that's all about."[19]

When asked about Arsenal's unbeaten run and whether it would be repeated in English football, Ferguson replied:

"That was a one-off. Arsenal accumulated most points last season so they won the title fairly enough, but they didn't display championship form. They had too many draws. I think they came to a point around January where they realised they could go through the season undefeated, and that was a great driving force for them, but they had to stay undefeated to compensate for the number of draws. It was still an incredible achievement, though."[19]

Arsenal manager Arsène Wenger responded by saying: "Everybody has the freedom to make a judgement. In the last 20 minutes of every game last season, we were never behind. That means we had already done the job before."[19] He insisted the draws did not reflect on his team's negative tactics, but "because of other teams coming back into the game".[19] On the issue of Patrick Vieira's anticipated move to Real Madrid, Wenger told reporters the player would remain at Arsenal.[18] Wenger acknowledged his team were short on experience as a result of selling players and missing Vieira, Sol Campbell and Thierry Henry, who all were injured. He considered this to be a disadvantage, but argued "...the younger ones have to be given a chance. They all have to take some responsibility."[18]

Tickets for the game went on general sale on 28 July 2004. They were advertised on the FA website at a cost of between £15 and £40.[20]Sir Geoff Hurst was named as the event's chief guest.[21]

Arsenal kicked off the match and within the first two minutes forced Manchester United defender Gary Neville to concede a throw-in.[22] In the fifth minute, Manchester United won a free kick, but nothing came out of it as José Antonio Reyes blocked Paul Scholes's shot.[22] Good play by Reyes and Henry fashioned a chance for Bergkamp in the ninth minute, but his strike was off target. Two minutes later a shot by Bergkamp from outside the box was saved by Manchester United goalkeeper Tim Howard.[22] Before Henry was about to take a corner for Arsenal in the 16th minute, a cigarette lighter was thrown at him from the section occupied by Manchester United supporters – this resulted in police making two arrests during the game.[25]Quinton Fortune used his pace to get the better of Lauren, but his cross into the Arsenal penalty area was cleared by Pascal Cygan.[22] Arsenal continued to threaten – Henry's free kick prompted Howard to make a save and tip the ball over the crossbar, and Bergkamp came close to scoring in the 27th minute after clever play to lose his marker John O'Shea.[26] The football continued to move from one end to the other, with Giggs and Reyes causing problems for their respective defences.[22] In stoppage time at the end of the first half, Henry had his shot saved by Howard, while Scholes was similarly denied by Arsenal goalkeeper Jens Lehmann.[22]

Manchester United made a slight change before the second half commenced, with Neville and O'Shea switching positions, while Arsenal brought Robin van Persie on in place of Henry.[22] Arsenal began the half more strongly – Reyes sprinted past the Manchester United defence and went past Howard in the 48th minute, but his shot hit the side-netting.[22] A minute later Arsenal scored. Bergkamp's pass put Reyes clear to run down the right-hand side of the pitch. He squared the ball to Gilberto, who side-footed it into the empty goal net.[27] Manchester United responded by making three substitutions – Fortune, Giggs and Roy Keane off for Phil Neville, Diego Forlán and Darren Fletcher.[22] Five minutes after going behind, Alan Smith equalised for Manchester United. A mistake in the Arsenal defence presented him with the chance to hit a half-volley; the ball dipped over Lehmann in goal.[26] Arsenal retook the lead in the 59th minute – a disjointed move that ended with Reyes shooting the ball low in the bottom left hand corner.[27] Phil Neville was shown the game's first yellow card in the 62nd minute, after fouling Reyes.[22] Van Persie's free kick a minute later was deflected for a corner, which came to nothing. Jérémie Aliadière who came on for Bergkamp sustained a knee injury and had to come off after only a few minutes on the field.[22] He was replaced by Gaël Clichy, whose arrival according to journalist Henry Winter "…accelerated Arsenal's drive further, particularly down the left where he kept combining well with Ashley Cole."[27] In the 72nd minute, Eric Djemba-Djemba and Cole were each shown a yellow card for clashing with one another.[22] Arsenal scored their third goal of the match 11 minutes before the end. Cole carried the ball into United's penalty box and his attempted cross hit defender Mikaël Silvestre, who was helpless to prevent the ball going into his own net.[27]

Wenger clarified Vieira's future after the match: "My intention is clear: to keep him […] The challenge in front of us is hugely difficult and we need a complete focus. I'm not resigned to let the story go on. It has all to be sorted out before the season."[31] He added that if Vieira chose to leave, the club could sufficiently replace him: "We've worked very hard in the last five years to get good young players in and you saw that today."[31] Reyes, who was named man of the match, was frustrated at his missed chance early in the second half, but continued: "I set one up and then scored myself so I was much happier."[1] Bergkamp was impressed with Fàbregas's performance in the match: "Normally at 17, you might be a bit unsure when you step out. But with players like Cesc, the way he has developed in one year is quite amazing."[32]

Ferguson congratulated Arsenal on their win and said of the game: "It was about trying to make sure everyone was fit for Wednesday. I think we have managed to do that. There are no new injuries so far. Hopefully by tomorrow morning it will be a definite."[33] He believed it was important to substitute Giggs and Keane early in the second half in order for them to recuperate in time for the Dinamo București game. Scholes, however, "…needed a game, which is why I left him on that bit longer."[34] Ferguson felt Manchester United's preparations to the new season were hampered because of the injuries: "It's got a lot to do with summer football. It's not down to the European Championship, but you do wonder why the Copa América can't be at the same time. That harmony is never quite right, from Africa to America to Europe. Something should be done about that."[35] Giggs said Manchester United needed to take the positives out of the match and anticipated Arsenal as their main rivals in the league: "[They] know what to do and how to handle the pressure when it comes around."[36]

The two clubs next faced each other in a league fixture at Old Trafford on 23 October 2004, where Arsenal's unbeaten league run of 49 matches came to an end as Manchester United beat them 2–0.[37]