Arsenal maintained their unbeaten start in the Champions League but were far from convincing in a 1-0 win over Shakhtar Donetsk.
A first-half own goal from goalkeeper Dmytro Riznyk, after Gabriel Martinelli’s strike had hit the post, should have sent the Gunners on their way to a comfortable night, and an emphatic response to the weekend defeat to Bournemouth.
But Gabriel Jesus missed a big chance to double the lead before the break and Arsenal then failed to impress in the second-half, failing to finish off the match and allowing Shakhtar to grow in confidence, even if David Raya was rarely tested.
Leandro Trossard’s poor penalty was saved with just over ten minutes remaining, ensuring Arsenal could not relax until the final whistle. Pedrinho went close in stoppage-time, forcing Raya into a good save with a powerful strike from distance.
Mikel Arteta’s side saw it to make it seven points from their opening three fixtures in Europe this season, as they returned to winning ways ahead of Liverpool’s visit this weekend. There was a significant concern, though, as Riccardo Calafiori was forced off late on after stretching awkwardly.
The first big chance of the evening, perhaps predictably, came from an Arsenal corner, with Calafiori blazing over from six yards out when he might have done better. And it was Calafiori who registered the home side's first effort on target after 24 minutes, following a controlled, if not electric opening, from the Gunners.
However, five minutes later, the breakthrough arrived. Martinelli made space for himself in the area and his right-footed drive took a slight deflection en route to the foot of Riznyk's post before hitting the goalkeeper on the back and rolling over the line.
Kai Havertz then looked poised to head home Jesus's knock-down from Martinelli's cross only to be denied by captain Mykola Matviyenko's hooked clearance.
A minute before the interval, Jesus should have landed his first strike in nearly nine months. The Brazilian won the ball on the edge of the visitors' area, with Trossard's pass then finding Havertz, who turned it round the corner for an unmarked Jesus, but his effort was denied by Riznyk's outstretched right leg.
White, who only made his injury comeback against Bournemouth after a near-month lay-off, was then withdrawn at half-time. And with Jurrien Timber sidelined, Arsenal had to navigate the second period with Thomas Partey operating as a makeshift right-back.
Martinelli's side-footed blast was punched away for a corner by Riznyk after eight minutes of the second half gone, but with just the sole-goal lead, there was a mild sense of unease inside the Emirates Stadium.
Shortly after the hour mark, Arsenal's mounting injury crisis took another twist when Calafiori sustained an apparent knee injury following a collision with Eguinaldo. The Italian attempted to play on, but was pulled off just half-a-dozen minutes later.
With 14 minutes to go, Arsenal were awarded the chance to put the game out of sight when VAR intervened after Valeriy Bondar handled substitute Mikel Merino's cross in the area. But Trossard attempted to go straight down the middle and his unconvincing spot-kick was saved by Riznyk.
Shakhtar pushed for an equaliser and Raya denied Pedrinho with a fine one-handed diving save in the second minute of stoppage time before Marlon Gomes fluffed his lines with an unmarked header from only a few yards out to allow Arsenal to see out the win.
Additional reporting by PA Sport.