KEOWN DOUBLE SAVES GUNNERS
The Ukrainians took a shock lead after Alexei Bakharev's free kick deflected off Robert Pires and past David Seaman, before Andrei Vorobey beat the England goalkeeper two minutes later to double the lead.
Sylvain Wiltord pulled a goal back on the stroke of half time after Thierry Henry's penalty was saved, and The Gunners piled on the pressure in a frantic second half.
The veteran England defender then scored twice as the game drew to a close, chesting home from two yards after a corner found it's way through the box to level matters with two minutes remaining.
He then sidefooted home from inside the six-yard box a minute into injury time to win the game after fantastic skill saw Kanu get to the by-line and pull the ball back.
Arsenal had started the game the brighter of the two teams and Kanu forced goalkeeper Yuri Virt into a save before the goalkeeper was quick off his line to deny Ljungberg after the Nigerian defied the attentions of four men to put him through.
Pires and Kanu both had chances before Hennadii Zubov shot wide with Shakhtar's first chance.
Henry then hit the bar with a free kick as Arsenal continued to dominate, but the opening goal came against the run of play, as Bakharev's 35-yard effort hit Pires and wrong-footed Seaman after 26 minutes.
Viacheslav Shevchuck then freed Vorobey in the box and he slipped a left-footed shot past the onrushing goalkeeper to double the lead three minutes later.
Zubov then forced Seaman to save low to his left before Henry's free kick cleared the bar, and, as The Gunners began to recover from the shock, Sergei Popov received his second yellow card, for a blatant body-check on Patrick Vieira, to leave the visitors down to ten men.
The pendulum had suddenly swung back to Arsenal and their reward came when Mykhaylo Starostyak pulled down substitute Wiltord, on for the injured Pires, in the box.
Henry's poor penalty was saved by Virt before Wiltord tucked home the rebound to pull a goal back for the home side on the stroke of half time.
Bakharev's 47th minute free-kick, cleared by Lee Dixon at the second attempt, was all that Shakhtar could show for a second half that was unbelievably one-sided.
Kanu was first to come close as he twisted through four men and poked the ball wide before Henry twice came close with flicks from tempting crosses from Silvinho and Wiltord.
The Frenchman himself then forced Virt into a save as the goalkeeper was put under immense pressure, twice dropping crosses before reclaiming the bouncing ball from the clutches of Ljungberg and Kanu.
Dixon then had two chances in a minute, forced Virt to save both times, with the second coming with him diving across an empty goal before palming the ball away.
However, the equalising goal was only a matter of time in coming as a corner was flicked on an Keown managed to chest past Virt to level the game.
He then coolly slotted home the winner after Kanu weaved his way to the by-line and pulled the ball back for the England international to send the Highbury crowd into raptures and complete an astonishing comeback.
In the other Group B game, Lazio defeated Sparta Prague in the Stadio Olimpico thanks to a brace from Simone Inzaghi and a goal from Diego Simeone.
Click here to read our match report, Inzaghi At The Double
Click here to read the minute-by-minute report of Arsenal v Shakhtar Donetsk