Ole Gunnar Solskjaer suffered his first Premier League defeat since being appointed Manchester United's interim manager as Arsenal leapfrogged their opponents to move into the top four.
Switzerland midfielder Granit Xhaka beat David de Gea with a swerving shot from outside the penalty area, which the United keeper was expected to stop.
Romelu Lukaku hit the bar while the game was goalless when it appeared easier to score, and Brazilian midfielder Fred struck a post for United.
Arsenal keeper Bernd Leno also produced two crucial saves to keep out Lukaku, before Pierre-Emerick Aubameyang doubled the hosts' lead from the penalty spot after Fred's foul on Alexandre Lacazette.
Soon after Arsenal's second goal, a fan ran on to the pitch and shoved United defender Chris Smalling before being removed by stewards.
The Gunners have won seven out of 10 top-flight games in 2019 and are one point behind north London rivals Tottenham, who sit third in the table, with eight games remaining.
United, who started the weekend in fourth, drop to fifth in the race for a Champions League spot next season.