Pierre-Emerick Aubameyang's seventh-minute strike gave the hosts the perfect start.
Vieira's men failed to hold out, though, as with seconds to spare Lacazette scrambled home from a corner.
A share of the spoils moves Arsenal up to 12th, but the performance did little to suggest they will trouble the contenders for places in next season's Champions League come the end of the season.
A run of 10 points from a possible 12 had eased an early season crisis at Arsenal after their worst start for 67 years.
That upward curve looked set to continue early on as Aubameyang was in the right place to turn home the rebound after Vicente Guaita parried Nicolas Pepe's shot.
But despite the loss of Wilfried Zaha due to illness, Palace went on to boss the first-half to continue their impressive start to life under Vieira.
A three-time Premier League winner as Arsenal captain, the Frenchman has been overlooked by his former club for coaching roles.
But Vieira has lost just two of his opening eight league matches in charge of Palace, which came away to Chelsea and Liverpool.
Stand out news
October 18, 2021
Palace fired a warning just before half-time as only a fine save from Aaron Ramsdale denied Connor Gallagher an equaliser in first-half stoppage time.
The visitors got their rewards after the break, but Arsenal were the orchestrators of their own downfall for both goals.
Thomas Partey was robbed of possession inside his own half for the equaliser as Jordan Ayew played in Benteke to finish calmly into the bottom corner.
Albert Sambi Lokonga was the guilty party for Palace's second as he gave the ball away and Edouard drilled home his third goal since a summer move high past Ramsdale.
Edouard's former Celtic teammate Kieran Tierney was inches away from an equaliser as he fired off the underside of the bar.
But there was still late drama to come deep into stoppage time as Lacazette swept home another rebound after Guaita had saved Benjamin White's deflected effort.
Standout matches today