Arsenal 2 Reading 1
All the goals came in the second half, Gilberto opening the scoring with a penalty, with Julio Baptista doubling the home side's lead. Cesc Fabregas diverted into his own goal to give Steve Coppell's side a late consolation.
Former Gunners James Harper and Steven Sidwell closed down quickly in midfield even though the Gunners began brightly, playing most of the opening minutes in the Reading half.
That said, Arsenal's first notable effort came after 12 minutes when Alex Hleb's fancy footwork set Baptista up for a shot just inside the Reading area. His effort flew just wide of the left post.
Marcus Hahnemann was forced into making his first save a minute later when Hleb broke from midfield and slipped a ball into the path of Freddie Ljungberg.
The Swede ran on to the pass to fire a snap shot from inside the area, but the big American keeper got down well to parry.
The Reading defence was playing a high line and were twice thankful for their keeper's speed off the line to deny the lightning heeled Theo Walcott.
The Gunners should have taken the lead on 28 minutes after Baptista set up Fabregas with a golden opportunity from just four yards out. Quite bizarrely though, the normally reliable Spaniard somehow missed the ball as he swung his leg to fire home what should have been a certain goal.
A vital Ivar Ingimarsson interception two minutes before half-time kept the scores level at the interval, but had the hearts of visiting fans in their mouths as he re-directed the ball for a corner, but only just wide of his own goal.
Hahnemann denied Arsenal again with a glorious save just two minutes after the restart. Fabregas let loose from 25 yards out and his powerful shot looked destined for the top right corner, but Hahnemann flew across his goal to turn the ball away to safety.
The Gunners went ahead on 51 minutes when Gilberto converted a penalty into the right corner of the net after Andre Bikey had tripped Gael Clichy.
The goal encouraged Arsenal to turn up the pressure and Walcott's pace was causing a problem, although the youngster should have at least hit the target with his shot from the left edge of the area after 53 minutes, but instead sent his effort well wide.
The youngster went closer on 58 minutes, but his close-range shot was blocked by the brave dive of the Reading keeper.
The Gunners doubled their lead with a breakaway goal on 62 minutes. Reading wasted a rare corner and the ball broke to Denilson midway inside his own half.
The 18-year-old in turn passed the ball forward to fellow Brazilian Baptista who powered forward, muscling his way through the Reading defence to stab his shot beyond Hahnemann.
Sidwell went close to reducing the arrears on 70 minutes when his shot across goal from the right side of the Gunners area rolled just wide with Jens Lehmann well beaten.
The Gunners were denied their second penalty of the game when Hahnemann upended Baptista inside the box, but referee Foy mystifyingly waved play on.
The officials further frustrated the home side when they ruled out Jeremie Aliadiere's 82nd minute goal for offside, when it was clear from the replay that the French striker was at least level.
The Gunners were beginning to pour forward with alarming regularity as far as Coppell was concerned and a mix-up between Baptista and Aliadiere kept the scores at 2-0.
An own goal from Fabregas gave Reading hope with just two minutes left of regular time. Substitute Philippe Senderos failed to head away a corner and instead sent it towards his own goal. Fabregas then stuck out a foot to divert the ball into his own net.
Lehmann was called upon a minute later when he got down well to his left to palm away Sidwell's low drive and secure the victory.