Arsenal returned to the top of the table thanks to a howler by Chelsea goalkeeper Carlo Cudicini.
The Gunners, now the only unbeaten team in the Premiership, lead Manchester United by one point. Chelsea drop to third, three points behind Arsenal.
The game turned on Cudicini's 75th-minute error. He fumbled Robert Pires' cross, and dropped the ball, which hit Thierry Henry and bobbled into the net.
Chelsea manager Claudio Ranieri was philosophical about the incident saying: "I don't know what happened. Carlo attacked the ball well enough.
"I've told him not to worry because he's saved Chelsea many times." It was a bizarre winner for Arsenal, who had stepped up the pressure after an even first half.
Henry headed over as Mario Melchiot missed a cross. Pires twice tested Cudicini. The Chelsea keeper made a point-blank save from Henry, then watched substitute Kanu head against the bar.
Cudicini's mistake clearly unsettled him. His nerves showed again late in the game when he had to scramble back after failing to control a back pass on his chest.
Chelsea sent on Jimmy-Floyd Hasselbaink to try and rescue a point, but instead the Dutchman was booked for a lunge at goalkeeper Jens Lehmann.
Ranieri added: "We defended too deep in the second half and Arsenal put a lot of pressure on us." Arsenal boss Arsene Wenger said: "Overall, we deserved to win. We were the team that wanted the three points.
"We played with the handbrake on in the first half. We showed more drive afterwards. We could have scored on two occasions just before the winning goal." The Gunners had taken a fifth-minute lead when Edu's deflected free kick flew past Cudicini. The ball seemed to flick off Ray Parlour.
Chelsea levelled three minutes later when Hernan Crespo nipped in behind Lauren to smash a spectacular 30-yarder past Lehmann.
Frank Lampard forced a flying save from Lehmann 20 minutes later as Chelsea enjoyed their best spell.