Substitute Tomas Rosicky snatched a crucial point for Barclays Premier League title chasers Arsenal as they drew against a battling Everton side at a snowy Emirates Stadium.
Leon Osman headed the visitors into a deserved lead on 12 minutes. However, the midfielder then deflected Denilson's shot past Tim Howard as the Gunners levelled before the break.
Steven Pienaar's breakaway goal looked to have won it with eight minutes to go, only for Rosicky to grab a crucial strike in added time as Arsenal cut the deficit on leaders Chelsea down to three points.
Gunners boss Arsene Wenger had called on his team to maintain the momentum which has dragged them right back into the title rave with five wins from six, but it was Everton who made the better start.
Louis Saha had got ahead of the defence on the right, but blasted over.
It was no surprise when the visitors took the lead on 12 minutes as Osman headed in a corner from Landon Donovan, the United States international making his debut after a loan move from Los Angeles Galaxy.
Wenger's youngsters faced another test of character and looked for an immediate response. However, Everton dropped men back to crowd midfield.
Arsenal were, though, level on 28 minutes. Denilson charged down a clearance, and the ball fell to Andrey Arshavin on the edge of the penalty area.
The Russian fed Eduardo, who touched a pass back to the Brazilian, and his low strike took a wicked deflection off Osman to wrong-foot Tim Howard.
Despite getting themselves back into the match, Arsenal looked anything but comfortable when defending around their own penalty area.
Manuel Almunia failed to collect a deep cross, which Tim Cahill almost headed in.
Everton captain Phil Neville then chipped his angled effort onto the roof of the net.
The conditions worsened as the second half started.
Donovan weaved his way into the Arsenal penalty area, and was unfortunate to see a curling shot drift wide.
As the hour mark approached, the weather - which caused the postponement of the midweek match here against Bolton - showed no signs of improvement.
Arshavin cut into the right side of the Everton box and drew Howard, but the Everton keeper did well to recover to claw the ball away.
Saha latched onto a stray pass and charged goalwards, before his 20-yard shot was deflected behind.
Bacary Sagna's deep cross from the right was just too far ahead of both Rosicky - on for Aaron Ramsey - and Arshavin, arriving at the far post.
Armand Traore flashed a left-wing cross through the six-yard box, before Denilson struck a 20-yard effort over.
Both teams made further changes with 15 minutes left as Eduardo was replaced by Carlos Vela and Everton sent James Vaughan on for Saha.
Abou Diaby hacked clear after Cahill broke into the left side of the Arsenal box before Arshavin did the same at the other end, with his shot blocked at the near post.
Everton, though, snatched what looked to be a late winner when Pienaar raced onto a pass from Cahill to chip Almunia with eight minutes left.
Vaughan could have made the game safe when clean through, but this time Almunia saved.
Denilson, just returned from a back problem, had to be taken off on a stretcher after collapsing in the build up to the Everton attack. Fran Merida came on.
Arsenal threw plenty forward during the closing stages, and were rewarded in stoppage time when Rosicky smashed home a close-range shot which deflected off Lucas Neill.