A Granit Xhaka strike and a second-half penalty from Pierre-Emerick Aubameyang, who missed from the spot in the 1-1 draw with Tottenham last week, gave the Gunners three valuable points that lift them into fourth.
The result also ends United's nine-game winning run away from home under Ole Gunnar Solskjaer, just four days on from their dramatic Champions Leaguevictory over Paris Saint-Germain.
Arsenal started positively but should have been behind nine minutes in, when Romelu Lukaku steered Luke Shaw's low cross against the crossbar from six yards out.
The Gunners punished that miss three minutes later, when Xhaka's swerving strike from 25 yards out completely bamboozled David de Gea and nestled into the left-hand corner.
Fred struck the base of the post as United sought a quick response, and both Marcus Rashford and Lukaku should have done better after finding space inside the penalty area.
Lukaku was denied by a good Bernd Leno save when Rashford picked him out with a clever pass, and the German was out again to smother the ball at the feet of the England striker as United's pressure grew.
Arsenal made the most of those missed opportunities 21 minutes from time, when Aubameyang sent De Gea the wrong way from the penalty spot after Alexandre Lacazette went to ground under minimal contact from Fred.
Advantage Arsenal in the top-four chase
The Gunners have now moved two points above United into fourth place, just one behind Tottenham in third, with only eight matches left to play.
With Chelsea drawing at home to Wolves earlier, Unai Emery's men now have the edge in a race for the Champions League spots that is getting seriously interesting.
For United, their winning run under Solskjaer ends in a game where, for once, he seemed to hinder his side with his selection.