The Toffees, who had won at Manchester United in midweek, dominated for large spells, but fell behind to a Mesut Ozil goal with 10 minutes remaining.
However, Roberto Martinez's well-drilled side produced an instant response as substitute Gerard Deulofeu equalised.
Arsenal almost snatched a dramatic victory in stoppage-time when Olivier Giroud's 25-yard effort struck the woodwork, but Everton deserved to take something back to Merseyside.
Following other results on Saturday, which saw Chelsea lose and Manchester City draw, Arsenal were looking to put clear daylight between themselves and the chasing pack.
France forward Giroud was back in the starting XI having been rested for the midweek win over Hull, but England forward Theo Walcott, however, was again a substitute in a fixture designated to the Arsenal Foundation Charity.
Unchanged Everton made a positive start, with a counter-attack seeing Kevin Mirallas get away down the right and send a low ball straight through the Arsenal six-yard box.
The Toffees - who were on a seven-match unbeaten Premier League run - continued to dominate possession, with Costa Rica full-back Bryan Oviedo, who scored the winner at Old Trafford, a constant danger on the overlap down the right.
After such an uncharacteristic slow start, Arsenal began to find some possession in midfield.
A sweeping counter by the hosts, started from Ozil deep on the left, saw Santi Cazorla freed on the overlap down the right - and his low centre flew across the face of goal, with only a touch needed from the onrushing Kieran Gibbs to put the ball into the net.
It proved only a temporary rally as Everton were soon back on top, with England World Cup hopeful Ross Barkley most impressive as he drove at the Arsenal defence.
Finally, the home side managed to fashion an opening as Giroud was played through on goal in the 43rd minute, but Tim Howard was out quickly to block from the France forward.
The American had to be alert again in first-half stoppage time when Aaron Ramsey broke through the middle of a crowded penalty area.
There was at least more purpose to Arsenal at the start of the second half, as Gibbs crashed a 20-yard effort wide following a corner.
Ozil's ball in from the right was knocked back by Jack Wilshere, but Cazorla could not get any power on his header, which was straight at goalkeeper Howard.
Arsenal goalkeeper Wojciech Szczesny had to be alert when Everton broke quickly in the 54th minute, with Barkley playing in Steven Pienaar, whose 20-yard drive was turned away.
The Gunners were soon back on the offensive, with a cross from Gibbs met by Ramsey at the far post, and his angled half-volley was blocked by Howard.
James McCarthy was shown a yellow card for leading with a high boot into a challenge with Ramsey, which saw the Everton midfielder collect a caution, his fifth of the season which will result in a suspension.
Szczesny saved from Barkley's 18-yard strike before Arsenal made a triple substitution with 23 minutes left as Cazorla, Wilshere and Ramsey were replaced by Theo Walcott, Tomas Rosicky and Mathieu Flamini.
Flamini dragged his angled shot wide of the far post after Walcott's determined run into the right side of the Everton penalty area.
Howard was booked for time wasting with 13 minutes remaining and on the break a Mirallas shot was deflected behind with Sylvain Distin heading over from the resulting corner.
Arsenal took the lead with 10 minutes left. Rosicky's sweeping cross out to the right was met by Walcott, who headed it straight back through the Everton six-yard box. Giroud completely missed his kick, but Ozil was on hand to crash the ball into the roof of the net.
The lead, though, lasted only four minutes as Deulofeu smashed in from the right side of the box less than five minutes after coming on as a substitute, after Arsenal had switched off at the back.
Giroud, though, almost snatched victory in stoppage time when his stunning 25-yard drive struck the woodwork, but Everton deserved to share the points.