After a bright beginning for Arsene Wenger's under-pressure side, it was Wigan who went ahead through a penalty from Jordi Gomez.
However, the Londoners made it 1-1 with seven minutes left through Per Mertesacker, whose clumsy foul had given away the spot-kick.
Alex Oxlade-Chamberlain came closest to settling the game in extra-time but his shot struck the bar.
Fabianski - standing in for regular number one Wojciech Szczesny - produced fine saves from Gary Caldwell and Jack Collison in the shoot-out, before Santi Cazorla rolled in the decisive penalty to secure a 4-2 success.
Arsenal had started smartly and Wigan keeper Scott Carson produced a brilliant reaction save to block a bullet header from Yaya Sanogo, who started the match with Olivier Giroud left on the bench.
However, Uwe Rosler's side gradually worked their way into the game, and were rewarded as the hour mark approached, when Callum McManaman was chopped down by Mertesacker. Gomez kept his composure to drill the ball past Fabianski.
Giroud came on for Lukas Podolski as Wenger's men searched for an equaliser. Barcary Sagna headed against the post and then Wigan defender Stephen Crainey somehow cleared off the line after Carson palmed Kieran Gibbs' header away. Finally, though, Arsenal were level on 83 minutes when Mertesacker nodded the ball in.
Extra-time could not separate the sides and it was Arsenal who held their nerve in the shoot-out.
Caldwell and Collison, on loan from West Ham, missed Wigan's first two penalties, although Jean Beausejour and James McArthur did score for the Championship side.
But Arsenal tucked away all of their efforts, with Mikel Arteta, Kim Kallstrom and Giroud setting up Cazorla to keep his side on course for their first trophy in almost a decade.