Arsene Wenger’s team struggled to impose themselves on their Championship opponents for much of a tense semi-final and were forced into extra-time after Garath McCleary struck in the second half to cancel out Sanchez’s opener.
The Gunners avoided the lottery of a penalty shoot-out thanks to a gift from Australian international Federici, who allowed Sanchez’s shot to slip agonisingly through his grasp in the first period of extra-time.
Arsenal’s competition-record 19th FA Cup final appearance will be against Liverpool or Aston Villa, who meet in the second semi-final on Sunday.
Wenger had warned his players to heed the lesson of last season’s FA Cup semi-final victory, when they needed a penalty shoot-out to see off second-tier Wigan, but they clearly didn’t take his message on board.
A day that would end in abject misery for Federici had started promisingly as he got down at his near-post to keep out Per Mertesacker’s header.
The Royals have slumped to 19th in the second tier table and were playing in the semi-finals for the first time in 88 years.
Yet although Mesut Ozil went close with a curling free-kick, Arsenal, rendered impotent by Reading’s relentless pressing, were well short of the sparkling form they had showed in winning 16 of their previous 18 matches.
Wenger’s side eventually broke the deadlock in the 39th minute with a fine goal out of character with the rest of their rather tepid performance.
Ozil took possession 30 yards from goal and, sensing that only a speedy delivery would unhinge Reading’s massed defence, unfurled a perfect first-time pass towards Sanchez.
The Chilean still had plenty to do to make the most of his team-mate’s creativity, but he was more than equal to the task, nimbly controlling on his thigh and then cleverly side-stepping McCleary before slotting a low shot under Federici for his 21st goal of the season.
– Sloppy Arsenal –
That should have been the springboard for Arsenal to close out the tie, yet they made a subdued start to the second half and Reading snatched an equaliser in the 54th minute.
Pavel Pogrebnyak did well to dig out a cross just before the ball ran out of the play and the Russian’s delivery floated beyond the far post, where McCleary stretched for a volley that took a slight deflection off Kieran Gibbs and hit slow-to-react goalkeeper Wojciech Szczesny on the leg before looping into the net.
Mertesacker was forced off with an injury to add to Arsenal’s anxiety and the Gunners were fortunate not to concede a penalty when Hal Robson-Kanu’s cross was handled by Mathieu Debuchy.
Gabriel’s goalbound header cannoned off the bar as Arsenal tried to turn the momentum back in their favour.
Wenger then sent on Giroud in place of Welbeck and he must have wished Arsenal’s next chance had fallen to the France striker instead of Gabriel, who should have buried Ozil’s cross but headed tamely over from close-range.
Aaron Ramsey was guilty of an even worse miss in the 84th minute when the Arsenal midfielder somehow contrived to hit a post from no more than two yards after his initial shot was blocked by Federici.
Taken to semi-final extra-time by Championship opposition for the second successive season, Arsenal remained short of inspiration, although Ramsey’s long-range effort almost creeped in under Federici.
It was a narrow escape for Federici, but his luck ran out in the final seconds of the first half of extra time.
Ozil fed Sanchez down the left side of the penalty area and he cut inside to hit a weak shot straight at Federici, only for the Australian to let the ball squirm through his grasp and trickle over the line.