The Gunners, who were without captain Pierre-Emerick Aubameyang after he was left out of the starting line-up due to a disciplinary breach, dominated much of the first half as Emile Smith Rowe and Cedric Soares both saw strikes hit the woodwork.
However, they were behind in the 33rd minute when Erik Lamela, who replaced the injured Heung-Min Son after 19 minutes, produced a spectacular drilled Rabona (33) to beat Bernd Leno and find the bottom corner.
The hosts did finally get some reward just before the half-time interval when Martin Odegaard (44) swept home Kieran Tierney’s cutback and they turned the game around midway through the second half when Alexandre Lacazette scored from the spot (64) after being scythed down by Davinson Sanchez.
Lamela’s afternoon turned sour 15 minutes from time when he threw out a stray arm to catch Tierney to pick up his second yellow card in eight minutes, while Harry Kane, who had a late header disallowed for offside, struck the post with a free-kick before Gabriel Magalhaes’ brilliant block to deny Sanchez scoring from the rebound secured Arsenal all three points.
Meanwhile, Arsenal, who boosted their own European qualification hopes, stay 10th, four points behind Tottenham.