Michael Turner's header looked to have consigned Arsene Wenger's men to defeat, but Mikel Arteta equalised with an 85th-minute penalty before a Sebastien Bassong own goal and an injury-time strike from Lukas Podolski completed the comeback.
Victory takes Arsenal above Chelsea and Tottenham Hotspur, neither of whom play in the league this weekend, and keeps them firmly on course to qualify for the Champions League.
The hosts had the best of the first half but the closest they came to scoring was an Olivier Giroud header in the 23rd minute that came back off the crossbar.
Turner put Norwich ahead in the 56th minute, ghosting in to meet Robert Snodgrass' inswinging free-kick with a close-range header.
Arsenal, who recalled Jack Wilshere and Theo Walcott after injury, saw Norwich goalkeeper Mark Bunn turn a Podolski shot onto the crossbar as they pushed for an equaliser.
It looked destined to be a frustrating afternoon for the home side, but Kei Kamara's tug on Giroud allowed Arteta to equalise from the spot before Bassong turned the ball into his own goal from Podolski's cut-back.
Podolski sealed victory in added time, beating Bunn with a low shot from Walcott's lay-off.
Norwich, 1-0 victors over Arsenal at Carrow Road in October, have now won just once in 16 matches and remain only four points above the relegation places.
News of Arsenal's late rally was a blow for Everton, who appeared to be closing on them after winning 2-0 at home to second-bottom Queens Park Rangers.
Darron Gibson broke the deadlock in the 40th minute at Goodison Park with a deflected shot from 25 yards, with Victor Anichebe flicking in a Sylvain Distin knock-down 11 minutes into the second period.
QPR remain seven points from safety but they have played two games more than third-bottom Wigan Athletic, who face Millwall in the FA Cup semi-finals on Saturday, and a game more than fourth-bottom Sunderland.
Reading are still bottom of the table but they drew level on points with QPR after withstanding a Liverpool onslaught in a 0-0 draw at the Madejski Stadium.
Chris Gunter headed an early Luiz Suarez effort off the Reading goal-line, while Philippe Coutinho saw a goal ruled out for offside and curled a shot against the post.
Aston Villa spurned an opportunity to haul themselves out of the relegation picture in a 1-1 draw at home to Fulham.
Charles N'Zogbia put Villa ahead 10 minutes into the second half with a high finish from an Andreas Weimann cutback, only for Fabian Delph to inadvertently head Bryan Ruiz's corner into his own goal 11 minutes later.
Meanwhile, Andy Carroll marked his return to the West Ham United starting XI with a second-half equaliser in a 1-1 draw at Southampton.
Gaston Ramirez gave Southampton the lead shortly before the hour when he calmly beat Jussi Jaaskelainen, but Carroll levelled the scores seven minutes later with a deflected free-kick.
English Premier League table after Saturday's matches (played, won, drawn, lost, goals for, goals against, points)
P | W | D | L | GF | GA | PTS | |
Man Utd | 31 | 25 | 2 | 4 | 71 | 33 | 77 |
Man City | 31 | 19 | 8 | 4 | 57 | 27 | 65 |
Arsenal | 32 | 17 | 8 | 7 | 64 | 35 | 59 |
Chelsea | 31 | 17 | 7 | 7 | 61 | 33 | 58 |
Tottenham | 32 | 17 | 7 | 8 | 55 | 40 | 58 |
Everton | 32 | 14 | 13 | 5 | 51 | 37 | 55 |
Liverpool | 33 | 13 | 11 | 9 | 59 | 40 | 50 |
West Brom | 32 | 13 | 5 | 14 | 42 | 43 | 44 |
Swansea | 32 | 10 | 11 | 11 | 43 | 42 | 41 |
Fulham | 32 | 10 | 10 | 12 | 44 | 48 | 40 |
Southampton | 33 | 9 | 11 | 13 | 47 | 54 | 38 |
West Ham | 32 | 10 | 8 | 14 | 36 | 45 | 38 |
Newcastle | 32 | 10 | 6 | 16 | 42 | 56 | 36 |
Norwich | 33 | 7 | 14 | 12 | 31 | 52 | 35 |
Stoke | 32 | 7 | 13 | 12 | 28 | 39 | 34 |
Aston Villa | 33 | 8 | 10 | 15 | 36 | 60 | 34 |
Sunderland | 32 | 7 | 10 | 15 | 34 | 45 | 31 |
Wigan | 31 | 8 | 7 | 16 | 37 | 57 | 31 |
QPR | 33 | 4 | 12 | 17 | 29 | 54 | 24 |
Reading | 33 | 5 | 9 | 19 | 36 | 63 | 24 |
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional