Gabriel Martinelli opened the scoring for the visitors at Stamford Bridge, beating keeper Robert Sanchez from a tight angle after he was left unmarked at the back post.
But Neto rescued the Blues with 20 minutes to play, with a point enough to move them up to third in the table.
The first big chance of a frantic first half fell to Malo Gusto, who headed over from close range after Neto whipped in a dangerous ball under the crossbar.
Chelsea were then let off the hook in the 32nd minute, after they were caught out by a quick free-kick. Declan Rice rolled the ball to former Chelsea man Kai Havertz, who turned into the box and finished past Sanchez.
But his celebrations – which saw him ‘shush’ the Chelsea fans – were cut short when the goal was ruled out after a VAR check.
The sides went into half-time level, but Arsenal started the second period stronger and took the lead just before the hour mark.
The returning Martin Odegaard clipped a ball to the back post, where Martinelli finished from close range.
Chelsea equalised just 10 minutes later, when Neto capped a fine performance with his first league goal for the club.
He collected a ball that substitute Enzo Fernandez had rolled into his path, before drilling it into the bottom corner from 25 yards.
The goal was well deserved, and a reward for Neto’s impressive work-rate, which has been on show all season.
Both sides continued to press for a late winner that never came, with an offside Nicolas Jackson finishing past David Raya, and Havertz drawing another save from Sanchez.
Neto, Chelsea’s best attacking player on an afternoon that saw chances hard to come by, also flashed a dangerous cross into the box that just evaded Cole Palmer.
Palmer, who has been the star of the season so far, was a doubt ahead of kick-off, but played the full match despite struggling for fitness.
Arsenal could have snatched the win with the last kick of the game, when Leandro Trossard flicked a low cross wide of the right post.
Chelsea (4-2-3-1): Sanchez; Gusto (James 82), Fofana, Colwill, Cucurella; Lavia (Fernandez 67), Caicedo; Madueke (Mudryk 68), Palmer, Neto; Jackson (Nkunku 88)
Subs not used: Jorgensen, Adarabioyo, Badiashile, Veiga, Felix