Arsenal's opening Europa League Group H game was delayed by an hour because of safety concerns caused by the Germans bringing an estimated 20,000 fans to the Emirates Stadium.
Arsenal's stand-in keeper left his goal vacant and endangered by a scuffed clearance, though Cordoba still had a lot to do and showed great awareness to quickly turn and punish Ospina with a well-executed finish from 40 yards.
It was not until after the break - and a switch to a 4-2-3-1 formation from three at the back - that the Gunners were able to display the dominance expected of them, in their first season outside of the Champions League in 19 years.
The introduction of Sead Kolasinac made an immediate impact. He ferociously volleyed Arsenal level on 49 minutes after a failed Koln clearance.
Control was quickly seized by the hosts but they needed some individual brilliance from Sanchez to take the lead. The Manchester City target drifted inside from the left, dribbled past two defenders and stylishly curled the ball inside the far post.
Arsenal were close to their fluent best by the end and killed off Koln on 81 minutes. A skilful dummy from substitute Jack Wilshere set up Walcott for a shot. When Timo Horn parried, Hector Bellerin was the quickest to react to poke home from six yards.
Elsewhere in Group H, Red Star Belgrade and BATE Borisov drew 1-1, meaning that Arsenal top the pool after the opening round of fixtures.