The Gunners made the ideal start at Emirates Stadium, Pierre-Emerick Aubameyang finding the net for a third successive home match to give them an early lead.
However, Palace hit after the break as Christian Benteke and Odsonne Edouard completed the turnaround on Patrick Vieira's return to his former club.
But with virtually the last kick of the game, substitute Lacazette fired home a dramatic leveller to stretch the host's unbeaten run to six matches in all competitions.
Arsenal was aiming for a fourth straight home victory and it took the lead after just eight minutes on Tuesday (AEDT).
After an initial corner was overhit, Vicente Guaita did well to push away Nicolas Pepe's curling shot, but Aubameyang was in the right place to volley the rebound into an empty net from close range.
Seeking a first away win in seven attempts under Vieira, who won three Premier League titles as a Gunner, Palace looked to respond before the break.
Benteke drilled a low effort straight at Aaron Ramsdale, who also demonstrated brilliant reflexes to tip Conor Gallagher's stoppage-time volley wide.
But there was no denying Benteke five minutes after the break. Thomas Partey was caught in possession by Jordan Ayew, and former the Liverpool striker skipped away from a challenge before firing home his first goal of the season.
Arsenal was ruthlessly punished again moments after Guaita brilliantly denied Lacazette, the ball stolen from Albert Sambi Lokonga as Gallagher led a devastating counter before Michael Olise set up Edouard, who beat Ramsdale off the underside of the crossbar.
However, Palace was denied in the fifth minute of stoppage time, when Lacazette pounced for a dramatic equaliser after Guaita parried Ben White’s initial strike directly into his path.