FA Cup: Reading 1 Arsenal 2 (AET)
Arsene Wenger's men, who required penalties to see off Wigan Athletic at this stage last year, struggled to find the momentum that has seen them embark on an eight-match winning run.
Nevertheless, Alexis Sanchez put the holders in front six minutes before the break with a cool finish having been fed by Mesut Ozil.
But the Arsenal section of the ground was stunned into silence after 54 minutes when Wojciech Szczesny failed to keep out a Garath McCleary volley.
Arsenal hit the woodwork twice as they looked to avoid extra-time - once via a superb save from Federici - but the Australia international will have wanted the ground to swallow him whole when he allowed another Sanchez effort to squirm underneath him at the end of the first period of additional time, dashing Reading hopes of a first final.
The result sees Arsenal become the outright record holders for most appearances in the FA Cup final, their 19th moving them one clear of Manchester United.
Arsenal welcomed back defender Mathieu Debuchy for his first appearance since January following shoulder surgery and, after a bright start from Reading, the holders began probing their opponents' back line.
Federici got down well at the feet of Danny Welbeck to thwart an early attack, before tipping around his left-hand post when Per Mertesacker threatened to open the scoring with a header from a corner.
But Reading weathered that storm and Jordan Obita unleashed a powerful strike from 25 yards at the other end, albeit straight at Arsenal goalkeeper Szczesny, while Nathaniel Chalobah saw a volleyed effort deflected wide.
Having seen an earlier chance fizzle out courtesy of a heavy touch, Sanchez made no mistake with his next opportunity, showing great composure in the box to bring down an Ozil pass, see off his marker and send the ball between Federici's legs.
Reading refused to go down without a fight, though, and pulled level nine minutes into the second period.
Pavel Pogrebnyak crossed from the byline for McCleary to volley home via a deflection off Kieran Gibbs, although birthday boy Szczesny should have done better.
Reading then had appeals for handball against Debuchy in the Arsenal box waved away by referee Martin Atkinson, before Danny Williams skewed wide from a promising position.
Gabriel Paulista came off the bench for Mertesacker shortly after the hour mark and one of his first contributions was to draw a fantastic save from Federici, who pushed the Arsenal defender's header onto his crossbar.
Chalobah tried his luck from 20 yards out with seven minutes left of normal time, forcing Szczesny into an unconvincing save, before Aaron Ramsey – Arsenal's goal hero when they won last season's competition – hit the post after forcing his way into the Reading box under pressure from Obita.
Reading then squandered a two-on-one situation as the match headed for extra time, and Ramsey gave the Championship side a scare when his effort bounced over off Federici.
The match looked set to be heading for the second period of additional time with the sides all square until Sanchez burst into the Reading penalty area from the left and fired a shot straight at Federici.
The Reading stopper was unable to hold the low strike and somehow allowed the ball to sneak through his legs and over the line, sending Arsenal into a final clash with the winner of Sunday's semi-final between Liverpool and Aston Villa.