Match ends, Wolverhampton Wanderers 3, Arsenal 1.
Arsenal missed the chance to go fourth in the Premier League as they were outplayed by Wolves at Molineux.
Ruben Neves put the hosts ahead with a direct free-kick from 25 yards before Matt Doherty headed in a second.
Diogo Jota added a third just before half-time after the Gunners gave the ball away and he ran at the away defence before firing a shot under goalkeeper Bernd Leno.
Arsenal defender Sokratis headed in from Granit Xhaka's corner in the 80th minute but it was not enough for the Gunners.
The victory takes Wolves up from 10th to seventh, while Arsenal remain fifth, one point adrift of fourth-placed Chelsea and four behind north London rivals Tottenham.
With three games left of the season, Wolves are in contention to qualify for Europe.
If Manchester City beat Watford in the FA Cup final the team finishing seventh in the Premier League will take the last available European spot and enter next season's Europa League at the second qualifying round phase.
Wolves impress again against a top-six side
Wolves' win continues a remarkable campaign for Nuno Espirito Santo's side in their first season since winning promotion from the Championship.
The hosts went into the match without a win in three games in all competitions but were on top even when the game was goalless as Joao Moutinho curled wide from 25 yards and Raul Jimenez just failed to connect with Jonny's through ball.
Neves then gave Wolves a deserved lead in the 28th minute with a fine free-kick after Nacho Monreal had clumsily bundled over Jonny in a central position.
A well-worked move from a short corner - albeit with Arsenal's defenders not applying pressure - left Jonny with space to cross and Doherty got to the ball before Leno to head into the net and double his side's lead.
Another Arsenal error led to Wolves' third as the ball was given away to Jota, who drove forward and shot under Leno, who should have done better.
This win means Wolves have picked up 16 points in their matches against the current top six this season, a record that includes wins over Tottenham, Chelsea, Manchester United and now Arsenal.
Wolves are also aiming to become the first newly promoted side to finish in the top eight since Reading finished eighth in 2005-06, while no promoted team has finished higher than that since Ipswich Town were fifth in 2000-01.
|Teams to finish in the top eight in their first season after promotion|
Tired Arsenal struggle again
For Arsenal it was a second successive defeat after they lost 3-2 to Crystal Palace on Sunday.
Manager Unai Emery made seven changes to his starting line-up from that match, although he was without the injured Pierre-Emerick Aubameyang - the Premier League's joint-top goalscorer with 19 goals in 2018-19.
Without him, a tired-looking Gunners side struggled to create chances, with Mesut Ozil ineffective and Alexandre Lacazette seeing little of the ball.
The France forward did make one opportunity out of nothing when he skipped past Willy Boly and Jonny, but he then shot well wide in his only attempt.
Sokratis' header from Xhaka's right-wing corner in the 80th minute gave Arsenal hope, but they could not find further goals to gain the point that would have taken them above Chelsea.
Emery's side did not in truth deserve anything and the Spaniard will be furious at the three goals conceded - a needless free-kick given away for the first, the defence switching off to enable Jonny to cross for the second and his side losing possession in the build-up to Jota's third.
This is the second successive season the Gunners have been without Champions League football, although they are still in the semi-finals of the Europa League and if they win it they will qualify automatically for the top tier of European football next season.
To secure that prize through a top-four Premier League finish, they now need Tottenham or Chelsea to slip up.
|Race for the Premier League top four|
|Arsenal - 5th (66 pts, GD +23)||Chelsea - 4th (67 pts, GD +21)||Man Utd - 6th (64 pts, GD +13)||Tottenham - 3rd (70 pts, GD +30)|
|29 April Leicester (A)||28 April Man Utd (A)||28 April Chelsea (H)||27 April West Ham (H)|
|4 May Brighton (H)||4 May Watford (H)||5 May Huddersfield (A)||6 May Bournemouth (A)|
|12 May Burnley (A)||12 May Leicester (A)||12 May Cardiff (H)||12 May Everton (H)|
Man of the match - Ruben Neves (Wolves)
First Wolves win over Arsenal in almost 40 years - the stats
- Wolves ended their 20-game winless streak against Arsenal (drew four, lost 16), with a first victory against the Gunners in all competitions since September 1979.
- This was Arsenal's heaviest Premier League defeat against a promoted team since a 2-0 loss to Newcastle United in May 1994.
- Wolves are one of three promoted sides to have beaten at least four sides to finish that season in the top six in a single Premier League campaign, after Sunderland in 1996-97 and Blackburn in 1992-93.
- Wolves are the first promoted team to earn 50 points in a Premier League season since Birmingham in 2009-10.
- Diogo Jota has been directly involved in seven goals in his last five Premier League appearances for Wolves at Molineux (five goals, two assists).
- Wolves' Ruben Neves has more goals (four) than he has touches (three) in the opposition's box in the Premier League this season.
- Only Charlie Mulgrew (10) and Harry Wilson (nine) have scored more goals from outside the box since the start of last season in the top four tiers in England than Wolves' Neves (eight).
'We can recover for the top four' - what they said
Wolves boss Nuno Espirito Santo told BBC Sport: "It was very good, especially in the first half, but we conceded too much possession in the second.
"Arsenal have quality, they move the ball and keep it well and it's hard to recover it. But until we conceded the goal we did not concede many chances.
"It was very good in the first half, very compact."
Arsenal manager Unai Emery told BBC Sport: "We knew before the match it was going to be difficult because all season Wolverhampton are feeling strong, defensively they are a good team and offensively they have very fast players.
"Their organisation was very good and to break this was going to be difficult.
"In the first 25 minutes we started very well, controlled the possession but did not have many chances to score.
"We spoke in the dressing room at half-time and we tried to see it as a new match and in the second half we changed our performance and scored a goal. We can be frustrated but the Premier League is about being consistent over 38 matches.
"Today we're disappointed but we need to remember how we were three months ago. We can be optimistic and recover for the top four."
Arsenal are away at Leicester in the Premier League on Sunday (12:00 BST) before they entertain Valencia in the first leg of their Europa League semi-final on Thursday, 2 May (20:00 BST).
Wolves face an important match in their quest to finish seventh as they play at eighth-placed Watford on Saturday (15:00 BST).
- 11Rui Patrício
- 5BennettBooked at 84mins
- 2DohertyBooked at 17mins
- 28João MoutinhoSubstituted forGibbs-Whiteat 90'minutes
- 19Castro Otto
- 9JiménezSubstituted forTraoréat 82'minutes
- 18JotaSubstituted forCavaleiroat 78'minutes
- 10Hélder Costa
- 18MonrealBooked at 27mins
- 11TorreiraBooked at 45minsSubstituted forGuendouziat 59'minutes
- 34XhakaBooked at 31mins
- 7MkhitaryanSubstituted forKolasinacat 58'minutes
- 17IwobiSubstituted forNketiahat 71'minutes
- Stuart Attwell
- Shots on Target
Second Half ends, Wolverhampton Wanderers 3, Arsenal 1.
Corner, Wolverhampton Wanderers. Conceded by Granit Xhaka.
Foul by Sead Kolasinac (Arsenal).
Adama Traoré (Wolverhampton Wanderers) wins a free kick on the right wing.
Offside, Arsenal. Granit Xhaka tries a through ball, but Eddie Nketiah is caught offside.
Attempt blocked. Eddie Nketiah (Arsenal) left footed shot from the right side of the box is blocked. Assisted by Alexandre Lacazette.
Ainsley Maitland-Niles (Arsenal) wins a free kick on the right wing.
Foul by Willy Boly (Wolverhampton Wanderers).
Substitution, Wolverhampton Wanderers. Morgan Gibbs-White replaces João Moutinho.
Foul by Granit Xhaka (Arsenal).
Jonny (Wolverhampton Wanderers) wins a free kick on the left wing.
Corner, Arsenal. Conceded by Willy Boly.
Ryan Bennett (Wolverhampton Wanderers) is shown the yellow card for a bad foul.
Eddie Nketiah (Arsenal) wins a free kick on the right wing.
Foul by Ryan Bennett (Wolverhampton Wanderers).
Corner, Arsenal. Conceded by Rúben Neves.
Substitution, Wolverhampton Wanderers. Adama Traoré replaces Raúl Jiménez.
Goal! Wolverhampton Wanderers 3, Arsenal 1. Sokratis (Arsenal) header from very close range to the centre of the goal. Assisted by Granit Xhaka with a cross following a corner.
Corner, Arsenal. Conceded by Willy Boly.