A controversial 25th minute goal from Toffees striker Louis Saha was canceled out when substitute Andrei Arshavin netted with 20 minutes to go.
Arsenal then completed the comeback when central defender Laurent Koscielny headed home in the 76th minute to take the Gunners’ unbeaten run in the league to eight matches and notched their sixth win on the trot in all competitions.
Arsene Wenger’s men stay five points behind league leaders Manchester United who got the job done against Aston Villa but it could have been much worse if they hadn’t shown so much character to come back from a trailing position.
For Everton, it was their first league loss in four but yet another match where they failed to keep a clean sheet as they remain rooted in the bottom half of the table.
Venue: Emirates Stadium, North London
Referee: Lee Mason
Yellow cards: ARS - Jack Wilshere 5’, Tomas Rosicky 45’, Robin van Persie 60’
EV - Sylvain Distin 14’, Jack Rodwell 46’, Mikel Arteta 59’, Tim Howard 72’, Leon Osman 74’
It was a slow start to the match with both sides nutting each other out in the early stages until Arsenal started to wake up around the 15-minute mark with two half chances to Robin van Persie, from a free-kick, and Laurent Koscielny’s header from the ensuing corner.
The Gunners produced a beautiful move about a minute later, ending with van Persie playing a deft backheel into the path of Cesc Fabregas but he jagged his shot wide from inside the area in what was a huge let off for Everton.
Toffees keeper Tim Howard came up with a good save in the 22nd minute when Theo Walcott received a deflection on the edge of the area before advancing inside but his shot did not have enough angle as Everton’s custodian kept it out with his legs in what was a great chance for the Gunners.
GOAL But for all Arsenal’s domination, Everton hit the front in the 25th minute when Seamus Coleman played a through ball towards Louis Saha and although the Frenchman was clearly off-side, Koscielny’s attempted clearance from the pass fell to the striker and he needed no second invitation to hammer home from the top of the area across Wojciech Szczesny for the opener.
Arsenal defender Johan Djourou was only inches off the mark with his 31st minute header before Fabregas sent a low shot goalward and van Persie attempted to lob Howard indicating that the Gunners were back on their game after being rattled with the goal.
Arsenal midfielder Alex Song was replaced by Abou Diaby at half-time after coming into the dressing rooms with a few heavy knocks.
The Gunners were awarded a free-kick on the edge of the box just minutes after the re-start when John Heitinga pulled down countryman van Persie but the left-footed striker’s attempt at hammering the dead ball goalward was way off as the Toffees wall did its job to perfection.
Everton were doing a good job of frustrating the home side and even conjured a few half-chances as the half progressed, forcing Arsene Wenger to make another change for the Gunners, bringing off Tomas Rosicky for Andrei Arshavin in the 61st minute.
His counterpart David Moyes then swapped Diniyar Bilyaletdinov for Leon Osman as the Toffees went about their business in workmanlike fashion.
Wenger was desperately chasing an equaliser and brought on Nicklas Bendtner for Jack Wilshere with 20 minutes remaining but it was his second substitution that did the job with Arshavin making it 1-1.
GOAL Captain Fabregas played a lovely little dink toward the Russian who was able to side-foot it home when he was face-to-face with Howard. The goal was delivered with plenty of calm after the ball looped off the head of Jack Rodwell who was trying to get back to cover.
Bendtner tried his luck with a 73rd minute overhead kick that fell nicely for Howard before van Persie’s free-kick a few minutes later was tipped over the bar by the Toffees custodian.
GOAL The corner from Howard’s save then brought about the goal that put the Gunners in front. Van Persie’s swinging ball to the back post was met by an unmarked Koscielny who headed home to make it 2-1 for the home side, stirring the home fans into song.
Moyes made a double change with about ten minutes remaining, replacing Coleman and skipper Phil Neville with Victor Anichebe and Phil Jagielka, but the sting went out of the game as the minutes started to lapse.
Everton at times pushed for a late goal, which has become the order of the day in these fixtures recently, but could not come up with the goods as Gael Clichy almost produced a special moment for the victorious Gunners down the other end in the final minute.
Wojciech Szczesny (gk), Bacary Sagna, Johan Djourou, Laurent Koscielny, Gael Clichy, Tomas Rosicky (Arshavin 61’), Cesc Fabregas, Alex Song (Diaby 46’), Jack Wilshere (Bendtner 69’), Robin van Persie, Theo Walcott
Tim Howard (gk), Phil Neville (Jagielka 79’), John Heitinga, Sylvain Distin, Leighton Baines, Seamus Coleman (Anichebe 78’), Mikel Arteta, Jack Rodwell, Marouane Fellaini, Diniyar Bilyaletdinov (Osman 65’), Louis Saha
Subs - Jan Mucha (gk), Leon Osman (65’), Victor Anichebe (78’), Phil Jagielka (79’), Jose Baxter, Jermaine Beckford, Magaye Gueye