Arsenal returned to the top four by ending Ole Gunnar Solskjaer's unbeaten Premier League run as Manchester United manager with a hard-fought victory.
The Gunners have an impressive home record this season and extended their streak to 15 league games without defeat at the Emirates Stadium with a 2-0 win.
Granit Xhaka's long-range effort caught out David De Gea, either side of United hitting the frame of the goal, before a contentious second-half penalty allowed Pierre-Emerick Aubameyang to seal three vital points in the race for Champions League qualification.
On a day where Aston Villa's Jack Grealish was attacked by a Birmingham fan running onto the field of play, an Arsenal supporter appeared to run into Chris Smalling as he invaded the pitch after Aubameyang's goal.
While it seemingly lacked the malice of the St Andrew's incident, questions will be asked of how the invader was able to cover so much ground before being halted.
The win sees Unai Emery's side leapfrog United into fourth spot and move to within a point of north London neighbours Tottenham Hotspur, who lost at Southampton on Saturday.
For Solskjaer, whose side delivered heroics with a 3-1 Champions League win at Paris Saint Germain in midweek, this was his first taste of domestic defeat since being appointed caretaker manager in December and ended a club-record run of nine away wins.
Alexandre Lacazette was inches away from converting Sead Kolasinac's inviting centre as Arsenal looked to take the game to United.
The hosts started the game on the front foot but almost found themselves behind as United broke forward and Romelu Lukaku – with six goals in his last three games – hit the crossbar from five yards after an excellent low cross from Luke Shaw.
Moments later and Arsenal were celebrating the goal their early dominance deserved, as Xhaka hit a speculative effort with De Gea badly caught out by the swerve on the ball.
United, despite being second-best, hit the woodwork for the second time in the opening 20 minutes as Fred's low drive struck the base of the post.
Solskjaer reacted to his side being overrun in midfield by moving to a three-man defence to mirror Arsenal's set-up as captain Ashley Young was drafted in as a central defender.
Lukaku found Bernd Leno in the way as he was slipped in by Marcus Rashford, the Belgium striker looking to round the German goalkeeper and finish in a similar to fashion to his opener in Paris.
The change in shape certainly helped the visitors stem the flow of Arsenal attacks and they enjoyed more forays forward themselves towards the end of the first-half without really testing Leno.
In sharp contrast to the first half, it was United who were fast out of the blocks at the restart, Lukaku rolled in by Rashford only to see his shot turned behind by the outstretched leg of Leno.
Rashford arrowed a free-kick wide before referee Jon Moss awarded a soft penalty to the home side, Lacazette going down under minimal pressure from Fred.
Aubameyang, who had missed a last-gasp spot-kick at Spurs last week, confidently tucked away the chance from 12 yards to double Arsenal's advantage.
An Arsenal supporter ran onto the pitch to celebrate and seemed to brush past Chris Smalling on his way to mob the celebrating Arsenal players before the stewards took care of the situation.
Lacazette then missed a marvellous chance to seal the three points as he fired wide as Solskjaer threw on fit-again Anthony Martial and teenager Mason Greenwood in an attempt to salvage something from the game.
An onslaught of the Arsenal goal never materialised, Rashford heading straight at the impressive Leno in stoppage time as Solskjaer's side tasted a rare defeat.