When Noel Hunt capitalised on yet more abysmal defending to stretch the lead to four, Arsenal were in danger of being overwhelmed by the inspired Royals. But strikes from Walcott, the energetic Olivier Giroud, whose arrival from the bench brought urgency to the Gunners' play, and Koscielny offered hope.
The fingertips of Adam Federici appeared to have prevented Walcott from taking the match into extra-time, but Arsenal were level in the 96th minute. Defender Nicky Shorey was on hand to stop the ball crossing the line but Carl Jenkinson smashed it home.
Early on in extra time Giroud and Andrey Arshavin combined to send Chamakh racing in on goal and he showed his gratitude by steering the ball beyond Federici.
With Arsenal now dominating the game - brilliant Reading were spent - there seemed to be only one winner, but neither a roller-coaster match nor Reading were finished as Pogrebnyak nodded in a cross by Chris Hunt with three minutes remaining.
Walcott and Chamakh then struck in the dying moments of the match to conclude a heart-stopping night.