Arsene Wenger’s troops dominated the first half in which Emmanuel Adebayor missed a hatful of chances.
The Togo hitman made amends on 48, though, when he headed home Robin van Persie’s left-wing cross – albeit with the help of a hand.
The Gunners’ lead did not last long, however, as referee Howard Webb penalised William Gallas for a handball in the 18-yard box, which was converted by Cristiano Ronaldo at the second attempt having been asked to retake his first attempt.
United then took the lead on 72 when Arsenal gave away a free-kick 20 yards out, which was skilfully lifted over the wall by Hargreaves.
The victory moved United six points clear of Chelsea, who face Wigan at home on Monday.