Substitute Steve Morison struck five minutes from time at the Emirates Stadium to earn Norwich City a well-deserved point from their final Premier League away game of the season.

In a marvellous contest that ebbed and flowed from start to finish, Morison's 10th goal of the season ended the Canaries' run of three straight defeats and put a dent in the Gunners' Champions League aspirations.

City had the worst possible start when they fell behind after little more than a minute to a splendid finish by Yossi Benayoun.

But they hit back to lead 2-1 at the interval thanks to recalled pair Wes Hoolahan and Grant Holt.

Hoolahan levelled after 12 minutes when Arsenal keeper Wojciech Szczesny could only help his shot into his own net, then Holt scored his 16th goal of the season. It came after 27 minutes when his shot struck ex-Canary loanee Kieran Gibbs and looped over Szczesny.

Double footballer of the year Robin van Persie appeared to have stolen the game away from City when he struck twice in the space late in the game, equalising after 72 minutes and making it 3-2 eight minutes later.

But striker Morison was the hero five minutes from time when he drilled a fine effort past Szczesny from Jonny Howson's pass.

It was a memorable end to the Canaries' away programme and at one stage they even looked set to add Arsenal to the prize scalp of Tottenham they had taken in North London four weeks earlier.

City showed five changes from the starting line-up for last week's 3-0 home defeat by Liverpool.

Full-back Adam Drury was ruled out by a groin injury, while Elliott Ward, David Fox, Anthony Pilkington and Steve Morison were relegated to the substitutes' bench.

Into the eleven came Russell Martin, who played all bar the first 12 minutes against Liverpool, plus Simon Lappin, Wes Hoolahan, Simeon Jackson and skipper Grant Holt.

There was no place in the 18 for striker James Vaughan, while the injured Zak Whitbread (calf) was ruled out for the rest of the season along with fellow defenders Daniel Ayala and Marc Tierney.

Arsenal were unchanged from the 1-1 draw at Stoke. They were again without England winger Theo Walcott because of a hamstring injury, while Abou Diaby was ruled out by a calf problem.

It was Gunners boss Arsene Wenger's 900th match in charge since taking over from Bruce Rioch in 1996.

Before kick-off, Arsenal striker Robin van Persie was presented again with his two player of the year awards – from the PFA and the Football Writers' Association.

There was the worst possible start for City as it took the Gunners little more than a minute to move ahead in their first attack through Benayoun.

Rosicky found the midfielder on the left-hand side and he weaved inside on to his right foot before curling a perfect shot out of reach of Ruddy – a goal reminiscent of those scored by Ageuro and Hoilett against City in recent weeks.

City almost hit back after five minutes when Jackson crossed from the left and Holt's powerful shot was blocked by Gibbs. Elliott Bennett fired wide as he followed up the loose ball.

A foul on Lappin gave the Canaries a free-kick midway into the Arsenal half and when Johnson curled the ball in, Jackson got the final header but it was straight at Szczesny.

City looked purposeful and a cross from Lappin found Holt, who beat Szczesny in the air but headed well over.

That bright spell was rewarded after 12 minutes when the Canaries equalised through Hoolahan, his fifth of the season, though the goal owed much to an awful blunder by Szczesny.

Elliott Bennett found Naughton on the right and the full-back's low cross was met with a first-time effort by Hoolahan that the 'keeper somehow bundled in at the near post. Van Persie shot over the bar as the Gunners sought a quick response, and then Lappin headed clear from a Rosicky corner.

Ramsey was booked for a late challenge on Howson after 20 minutes, the first yellow card of the afternoon.

Still the Canaries looked dangerous and a swift break gave them the lead after 27 minutes through Holt's 16th goal of the season.

Holt held the ball up well and sent Hoolahan racing through the middle, then Holt moved wide on to the return pass and struck a shot that looped off the boot of Gibbs over stranded 'keeper Szczesny.

Koscielny needed treatment after a challenge by Jackson but as play continued, Van Persie was just unable to get on the end of a cross by Sagna. Jackson was then booked for the challenge.

Sagna then pulled up sharply with no opponent in sight and after lengthy treatment was replaced by Coquelin, who was quickly in need of attention after a challenge by Hoolahan, though he seemed to make a meal of it.

Jackson connected with a cross by Elliott Bennett to send another shot spinning over the Arsenal bar and at the other end, Gibbs fired wide after a determined run by Gervinho.

Benayoun appeared lucky to escape a booking when he kicked out at Lappin and was lectured, then Johnson was the target of the home crowd for bringing down Rosicky.

There were appeals for a penalty when Hoolahan went down under challenge from Coquelin but referee Taylor waved play on.

Russell Martin needed attention when he took a boot in the head, diving to meet a cross from Elliott Bennett, and the delay brought more hostility from the home crowd.

As the first half entered four minutes of stoppage time, Ruddy saved at his near post from Van Persie, but Martin had to clear hastily when the 'keeper failed to hold on to the ball.

There was a yellow card for Vermaelen for a foul on Jackson.

It then took a fine tackle by Koscielny to stop Holt making it 3-1 from Hoolahan's cross.

• Half-time: Arsenal 1, Norwich City 2

Van Persie fired across the six-yard box five minutes after the break as the Gunners looked for an equaliser.

It might have been 3-1 two minutes later when Jackson weaved into a shooting position but struck a tame effort at Szczesny when a pass to Holt might have been the better option.

Benayoun headed straight at Ruddy from Rosicky's free-kick when he might have done better, but as City counter-attacked, Jackson was only inches away from Naughton's cross, then Hoolahan poked the ball wide from another opportunity.

Ruddy made a vital save from Van Persie with his legs to preserve City's lead, and there was a booking for Hoolahan as the home crowd became more bad-tempered.

Arsenal made a second change on 63 minutes when Ramsey was replaced by Oxlade-Chamberlain.

Van Persie missed a decent chance when he shot wide from Benayoun's pass midway through the half, then Ryan Bennett blocked Vermaelen's shot.

There was a double change when Morison replaced Jackson for City, and Arsenal sent on Chamakh for goalscorer Benayoun.

The scores were level after 72 minutes, however, when Van Persie finally managed to find the target.

The telling pass came from Song after Ryan Bennett had made another determined block, and as the midfielder floated the ball in, Van Persie met it on the full and guided it past Ruddy.

With 15 minutes to go, Pilkington replaced Hoolahan in City's second change.

Song and Holt were lectured after a flare-up as things became rather heated.

With 10 minutes to go, Van Persie struck again but this time there was an element of good fortune as a deflection off Pilkington's heel fell kindly and he fired in a shot that Ruddy could not keep out.

Wilbraham was sent on for Holt after the goal went in and Johnson missed the chance to level when he shot over from Pilkington's cross.

Just as the game seemed to be slipping away from City, Morison fired a brilliant equaliser with five minutes to go.

Howson supplied the perfect through-ball and Morison kept his cool to shoot low past Szczesny from a tight angle.

Ruddy saved again from Van Persie with his legs as Arsenal looked for a quick reply.

The home crowd were screaming for a penalty after 88 minutes when Van Persie went sprawling under challenge from Naughton.

As the game entered stoppage time, Wilbraham was booked for a foul on Koscielny.

Ruddy made two brilliant stops in the dying seconds to preserve a point for the Canaries.

• Result: Arsenal 3, Norwich City 3

• Arsenal: Szczesny; Sagna (Coquelin, 33), Koscielny, Vermaelen, Gibbs; Ramsey (Oxlade-Chamberlain, 63), Song; Gervinho, Rosicky, Benayoun (Chamakh, 69); Van Persie. Subs (not used): Fabianski, Santos, Djourou, Park.

• Norwich City: Ruddy; Naughton, Ryan Bennett, Russell Martin, Lappin; Elliott Bennett, Howson, Bradley Johnson, Hoolahan (Pilkington, 75); Holt (Wilbraham, 80), Jackson (Morison, 69). Subs (not used): Steer, Ward, Fox, Surman.

• Referee: Anthony Taylor (Manchester)

• Attendance: 60,092

• Goals: Arsenal: Benayoun (2), Van Persie (72, 80). City: Hoolahan (12), Holt (27), Morison (85)

• Bookings: Arsenal: Ramsey (20), Vermaelen (45). City: Jackson (30), Hoolahan (60), Wilbraham (90)