Alexis Sanchez scored off a Mesut Ozil feed to give Arsenal a 1-0 lead, but Garath McCleary equalized to send Reading into unlikely extra time in Saturday’s FA Cup final.
But Reading goalkeeper Adam Federici allowed a poor Alexis shot through his legs in the 105th minute, allowing the Gunners’ forward a brace and his team a reprieve in a 2-1 win.
Arsenal will face the winner of Sunday’s semifinal between Liverpool and Aston Villa.
[ RELATED: Watch full match replays ]
After a brief bit of possession from Reading in the opening minute or two, Arsenal went on the attack. Danny Welbeck was stopped in tight, while Alexis skied one over the net and Mertesacker was saved by Federici at the doorstep.
Obita tested Szczesny at the other end in the ninth minute, but the Gunners keeper got low to gobble up the shot.
Chalobah worked a good chance in Arsenal’s end as the game entered the 28th minute, but misfired wide.
Alexis then put Arsenal up off a Mesut Ozil pass shortly before halftime.
[ RELATED: Latest Premier League standings ]
Reading equalized in the 54th minute, as Pavel Pogrebniak’s intra-box cross looped over defender Kieran Gibbs, to be finished by McCleary.
Arsenal had 71 percent possession as late as the 80th minute, but the score remained deadlocked at one. Tw late chances went twice denied by a diving Federici.
Arsenal: Szczesny, Debuchy, Mertesacker (Gabriel, 63′), Koscielny, Gibbs, Coquelin (Walcott, 101′), Ramsey, Cazorla, Ozil, Alexis, Welbeck (Giroud, 72′).
Goal: Alexis 2 (40′, 105′)
Reading: Federici, Gunter, Obita, Pearce, Hector, Williams, Chalobah (Cox, 105′), McCleary, Robson-Kanu (Karacan, 90′), Mackie, Pogrebnyak (Aiyegbeni, 111′).
Goal: McCleary (54′)