Match ends, Everton 2, Arsenal 1.
Everton 2-1 Arsenal
Arsenal missed the chance to go top of the Premier League as Everton came from behind to secure a first victory since October.
The Gunners, who had won their previous three games, were rewarded for an impressive start as Alexis Sanchez's free-kick deflected in off Ashley Williams.
Everton equalised just before half-time when Seamus Coleman glanced home Leighton Baines' excellent cross.
The Toffees, encouraged by a vocal crowd, dominated thereafter and Williams powered home a late header to complete the turnaround.
Home captain Phil Jagielka was sent off in the dying minutes for a second bookable offence and Arsenal had two shots cleared off the line in a frantic finale.
But they could not prevent a first league defeat since their opening match of the season, leaving them three points behind leaders Chelsea, who have a game in hand.
Everton, meanwhile, are up to seventh, four points behind fifth-placed Tottenham.
- Relive Everton's dramatic win against Arsenal
- Listen - Wenger critical of referee following Everton winner
An off day for Arsenal attackers
Arsenal had thumped West Ham 5-1, Basel 4-1 and Stoke 3-1 in their previous three games, but two away games in the space of five days at Everton and Manchester City would provide Arsene Wenger's side with a real chance to prove they are genuine title challengers.
After Sanchez struck, and with the hosts struggling to get out of their own half, it looked as though another big win was on the cards. But the Gunners failed to build on the goal, which came from their only shot on target until the 90th minute, when Nacho Monreal and Alexi Iwobi had efforts cleared off the line.
It may just have been an off day for Arsenal's forwards, but they are also struggling at the other end.
Wenger's men have failed to keep a clean sheet in 11 successive games, and the Frenchman must address that if they are to challenge for a first league title since 2004.
Koeman can breathe a little easier
The scrutiny on Everton boss Ronald Koeman had increased during a run of just one win in the 10 Premier League games prior to Arsenal's visit.
They had also kept just one clean sheet in that time and, against a free-scoring Arsenal, they were cautious from the outset.
For the first quarter of an hour there was a significant gap between forwards Romelu Lukaku and Enner Valencia and their team-mates, as they looked to play on the counter-attack.
It was an ineffective tactic as they failed to trouble Petr Cech, but Sanchez's goal forced them to become more adventurous. The midfield pushed up to offer Lukaku and Valencia more support, and they suddenly looked a more dangerous side.
They showed plenty of grit and determination in the closing stages as Arsenal mounted one final, desperate attempt to snatch a draw, and the final whistle was greeted with roars of delight from the home fans.
It could prove to be a significant result in determining the course of Everton's campaign.
Man of the match - Idrissa Gueye
What they said
Arsenal manager Arsene Wenger, speaking to BBC Sport: "I don't think we deserved to lose the game but we were caught on two headers. Especially on the first one we were guilty.
"We controlled Romelu Lukaku well but two defenders scored. Maybe we made it easy for them when they became more physical. They played a real cup game tonight.
"They defended well even when we controlled the game. We created chances but not too many were clear-cut. We battled hard. We put everything in and the players are very disappointed."
Everton manager Ronald Koeman, speaking to BBC Sport: "The first 20 minutes, that was really poor. We were very nervous and unsure. Every ball was passed back, there were mistakes and no aggression.
"But after that we played face-to-face, we showed unbelievable spirit to come back and we deserved the win. We were lucky in the last situation but we played great football and with the support of the fans it is really difficult to beat us here.
"Sometimes it is difficult to understand why we start so poorly at the beginning. Of course there is some lack of confidence but you have to show your personality. We showed big personality."
Comeback kings - the stats
- Everton have won the most points from losing positions in the Premier League this season (11).
- The Gunners have lost on a Tuesday in the Premier League for the first time since February 2006 v Liverpool.
- Ashley Williams scored his first Premier League goal for Everton in his 15th appearance.
- Williams' goal was the first Arsenal have conceded from a corner in the Premier League this season.
- Alexis Sanchez has had a hand in 27 goals in his past 27 Premier League appearances for Arsenal (19 goals, eight assists).
- No player has scored the opening goal on more occasions in the Premier League this season than Alexis Sanchez (five).
- Arsenal have scored as many Premier League goals from outside the box this season (four) as they managed in the whole of 2015-16.
- Leighton Baines provided his 48th Premier League assist; four more than any other defender.
- Seamus Coleman has scored in two of his past three Premier League apps at Goodison Park.
The win could not have come at a better time for Everton as they prepare for Monday's Merseyside derby with Liverpool at Goodison Park (20:00 GMT). However, they will be without Jagielka following his dismissal.
Arsenal, meanwhile, are back in the north west of England as they visit Manchester City on Sunday (16:00 GMT).
- 6JagielkaBooked at 90mins
- 16McCarthyBooked at 42minsSubstituted forFunes Moriat 90'minutes
- 19E ValenciaSubstituted forCalvert-Lewinat 79'minutes
- 10R Lukaku
- 12LennonSubstituted forMirallasat 68'minutes
- 25Funes Mori
- 6KoscielnyBooked at 84mins
- 34CoquelinSubstituted forPérezat 88'minutes
- 14WalcottSubstituted forGiroudat 71'minutes
- 15Oxlade-ChamberlainSubstituted forIwobiat 71'minutes
- Mark Clattenburg
- Shots on Target
Second Half ends, Everton 2, Arsenal 1.
Attempt blocked. Alex Iwobi (Arsenal) right footed shot from the centre of the box is blocked.
Attempt blocked. Nacho Monreal (Arsenal) left footed shot from the centre of the box is blocked.
Second yellow card to Phil Jagielka (Everton) for a bad foul.
Lucas Pérez (Arsenal) wins a free kick on the right wing.
Foul by Phil Jagielka (Everton).
Corner, Arsenal. Conceded by Seamus Coleman.
Corner, Everton. Conceded by Petr Cech.
Attempt saved. Ross Barkley (Everton) right footed shot from the right side of the box is saved in the bottom right corner. Assisted by Idrissa Gueye.
Substitution, Everton. Ramiro Funes Mori replaces James McCarthy.
Substitution, Arsenal. Lucas Pérez replaces Francis Coquelin.
Goal! Everton 2, Arsenal 1. Ashley Williams (Everton) header from the centre of the box to the top left corner. Assisted by Ross Barkley with a cross following a corner.
Corner, Everton. Conceded by Petr Cech.
Attempt saved. Phil Jagielka (Everton) right footed shot from the centre of the box is saved in the bottom right corner.
Corner, Everton. Conceded by Laurent Koscielny.
Attempt blocked. Dominic Calvert-Lewin (Everton) with an attempt from the centre of the box is blocked. Assisted by Leighton Baines with a cross.
Laurent Koscielny (Arsenal) is shown the yellow card for a bad foul.
Foul by Laurent Koscielny (Arsenal).
James McCarthy (Everton) wins a free kick on the right wing.
Olivier Giroud (Arsenal) wins a free kick in the defensive half.
Foul by Idrissa Gueye (Everton).
Substitution, Everton. Dominic Calvert-Lewin replaces Enner Valencia.
Offside, Arsenal. Gabriel tries a through ball, but Olivier Giroud is caught offside.
Attempt missed. Alex Iwobi (Arsenal) right footed shot from the centre of the box is close, but misses to the left. Assisted by Alexis Sánchez.
Corner, Everton. Conceded by Nacho Monreal.
Attempt blocked. Romelu Lukaku (Everton) left footed shot from the right side of the box is blocked. Assisted by James McCarthy.
Attempt blocked. James McCarthy (Everton) left footed shot from the left side of the box is blocked. Assisted by Ross Barkley.
Substitution, Arsenal. Alex Iwobi replaces Alex Oxlade-Chamberlain.
Substitution, Arsenal. Olivier Giroud replaces Theo Walcott.
Corner, Everton. Conceded by Gabriel.
Substitution, Everton. Kevin Mirallas replaces Aaron Lennon.
Theo Walcott (Arsenal) wins a free kick in the attacking half.
Foul by Aaron Lennon (Everton).
Foul by Francis Coquelin (Arsenal).
Idrissa Gueye (Everton) wins a free kick in the defensive half.
Attempt missed. Ross Barkley (Everton) left footed shot from outside the box misses to the right. Assisted by Romelu Lukaku.
Delay over. They are ready to continue.
Delay in match Maarten Stekelenburg (Everton) because of an injury.
Attempt blocked. Ross Barkley (Everton) right footed shot from outside the box is blocked.