Arsenal 3 Chelsea 2
Arsene Wenger's side took the lead after just nine minutes with Marcel Desailly firing into his own net to the delight of the Highbury crowd.
Both teams created enough goalscoring chances but it was not until the last 10 minutes that the game came to life.
Dutchman Giovanni van Bronckhorst, making a rare appearance, produced a great strike on 81 minutes to double Arsenal's lead and sixty seconds later Thierry Henry made it 3-0 after a miustake from the returning Carlo Cudicini.
Chelsea did not give up and hit two quick-fire goals of their own through Mario Stanic (85) and Emmanuel Petit a minute later.
Jimmy Floyd Hasselbaink almost levelled late on with a header but Arsenal hung on and are five points clear of Manchester United.