Arsenal late show wins thriller
Gunners outcast Marouane Chamakh, making his first start since January, appeared to have secured victory with a fine strike in the 13th minute of extra-time.
With three minutes remaining Reading substitute Pavel Pogrebnyak equalised and it took Walcott's late goal and a second from Chamakh to end a thrilling tie.
Arsenal had fought back after going 4-0 down during a nine-minute first-half spell that left them shellshocked.
Jason Roberts, a Laurent Koscielny own goal and Mikele Leigertwood left home fans rubbing their eyes in amazement as Reading surged 3-0 ahead.
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.
Related Arsenal News