Arsenal kept their top hopes of securing a place in the top four, by ending Manchester United’s 25-match unbeaten run in the Premier League.
Granit Xhaka opened the scoring with a deflected shot from distance after the first half.
Arsenal doubled their lead three minutes later when Danny Welbeck headed home against his former club after a cross from Alex Oxlade-Chamberlain.
Jose Mourinho placed in Marcus Rashford and Jesse Lingard to try to rescue the game, but failed to produce anything.
This match means that Arsenal remain in sixth place but are two points off United in fifth and six points off Manchester City in fourth, with a game in hand over both teams.
This victory reignites Arsenal’s chase for a Champions League place, and also ends an unwanted record for Arsenal manager Arsene Wenger against Jose Mourinho.
In their previous 15 competitive meetings Wenger had never beaten a Mourinho team, with his only victory coming in the Community Shield in 2015.
Mourinho has won eight times, while the remaining seven were drawn.
What the managers said
Arsenal manager Arsene Wenger on a possible top-four finish: “We want to win our games. Some teams that are safe continue to fight. Let’s focus to win our games. Every win is important. We had a bad patch and seem to have recovered from it.”
On Welbeck’s goal: “That’s the kind of goal you want from Danny. He has all the abilities a striker needs. Hopefully, that will give him a boost.”
Manchester United boss Jose Mourinho: “We made eight changes. Of course, we knew we were not coming in our maximum power. That’s a decision. We want to try to win the Europa League – it’s more important than finishing fourth.
“The last trophy I won was three months ago. I didn’t care about that. Thursday is the match of the season. I hope Old Trafford feels the same, because we need Old Trafford.”