Match ends, Arsenal 2, Crystal Palace 2.
Patrick Vieira said Arsenal's late equaliser was "really tough" to take as his Crystal Palace side were held to a draw in a thriller at Emirates Stadium.
Alexandre Lacazette scored deep into injury time to deny club legend Vieira a winning return, pouncing after Palace failed to clear a corner and Gabriel Martinelli's effort was saved.
The Gunners started brightly and led deservedly through Pierre-Emerick Aubameyang after Vicente Guaita's diving save to deny Nicolas Pepe.
But Palace improved - as the Gunners faded - and Christian Benteke continued his good record in games against the Gunners with the equaliser.
Thomas Partey was caught in possession by Jordan Ayew and Benteke drilled a shot into the bottom corner.
Palace again stole the ball off Arsenal to go ahead, as this time Conor Gallagher dispossessed Albert Sambi Lokonga in his own half, and the visitors broke quickly, with Odsonne Edouard hammering in a shot via the underside of the bar.
Kieran Tierney almost equalised for Arsenal late on but blasted against the bar with his shot.
And it looked as if they were going to fall short before substitute Lacazette steered home a loose ball from close range.
"It was really tough," Vieira told BBC Sport. "I was really disappointed to concede at the end because the players worked really hard and they deserved those three points. I feel sorry for them today.
"I liked the personality and character we showed. In the second half, we had desire to compete and won the ball quite high.
"This is the part of the game we wanted to improve, being aggressive. lt's part of the DNA of Crystal Palace."
Arsenal were understandably aggrieved when James McArthur was only booked late in the first half for a wild kick at Bukayo Saka, who went off injured at half-time.
"It's a clear red card," said Gunners boss Mikel Arteta. "He had no intention of playing the ball. I don't know how, with VAR, he hasn't been sent off."
Arsenal move up to 12th with a sixth game unbeaten, while Palace remain 14th after a third draw in a row.
- Follow reaction to Arsenal v Crystal Palace
- Everything you need to know about the Gunners, all in one place
- Go to our Palace topic page
Vieira so close to famous return
Vieira - a three-time Premier League title winner with Arsenal, and part of the 'Invincibles' who went through the 2003-04 top-flight campaign unbeaten - returned to face his old team for the first time as a manager.
He received a great reception from the Gunners faithful before kick-off.
"I don't want to say I expected it but when you spend nine years at a club like that and I was part of a generation who did well for the club, it meant a lot to me," said the Frenchman.
For long periods, home fans may have been wondering if they have the right former Gunners captain in charge in Arteta. They might still wonder.
Palace have only lost once in six games now and even though they lost two points late on, they impressed and did not miss Wilfried Zaha, who was out through illness.
Lacazette's late equaliser could be a huge boost for Arsenal's confidence, though, as it stretched their unbeaten run to six games in a match they started so well.
Aubameyang volleyed in a lovely opener from a tight angle but they were then architects of their own downfall.
Both Palace goals came from Arsenal midfielders losing the ball, first Partey and then Sambi Lokonga - the half-time replacement for the injured Saka.
But that is to take nothing away from Palace, who forced those errors and deserved their lead.
Vieira may rue his decision to replace goalscorer Edouard with defender James Tomkins - who had not played a league game this season - eight minutes from time.
They were holding on at the end and the hosts showed good character to find a way through. They may have thought Tierney's shot off the bar was their last chance but they kept the pressure on and Lacazette broke Palace hearts.
He did so with his first league goal since 11 April.
"He fights for every ball and he transmitted some belief and energy to the crowd when he came on," said Arteta.
- 5ParteySubstituted forMartinelliat 81'minutes
- 10Smith Rowe
- 8ØdegaardSubstituted forLacazetteat 67'minutes
- 7SakaBooked at 42minsSubstituted forSambi Lokongaat 45'minutes
- 17Cédric Soares
- 23Sambi Lokonga
- 4MilivojevicSubstituted forKouyatéat 67'minutes
- 18McArthurBooked at 43mins
- 9J AyewSubstituted forOliseat 71'minutes
- 22ÉdouardSubstituted forTomkinsat 82'minutes
- Mike Dean
- Shots on Target
Second Half ends, Arsenal 2, Crystal Palace 2.
Goal! Arsenal 2, Crystal Palace 2. Alexandre Lacazette (Arsenal) right footed shot from the left side of the six yard box to the bottom left corner following a corner.
Attempt saved. Gabriel Martinelli (Arsenal) left footed shot from very close range is saved in the centre of the goal. Assisted by Benjamin White.
Attempt blocked. Benjamin White (Arsenal) left footed shot from the centre of the box is blocked.
Corner, Arsenal. Conceded by Cheikhou Kouyaté.
Attempt missed. Alexandre Lacazette (Arsenal) left footed shot from the right side of the box is high and wide to the left.
Kieran Tierney (Arsenal) hits the bar with a left footed shot from a difficult angle on the left. Assisted by Alexandre Lacazette with a headed pass.
Substitution, Crystal Palace. James Tomkins replaces Odsonne Édouard.
Substitution, Arsenal. Gabriel Martinelli replaces Thomas Partey.
Foul by Conor Gallagher (Crystal Palace).
Takehiro Tomiyasu (Arsenal) wins a free kick in the defensive half.
Attempt missed. Gabriel Magalhães (Arsenal) header from the centre of the box misses to the left. Assisted by Thomas Partey following a set piece situation.
Attempt blocked. Nicolas Pépé (Arsenal) left footed shot from outside the box is blocked.
Foul by Joachim Andersen (Crystal Palace).
Alexandre Lacazette (Arsenal) wins a free kick in the attacking half.
Goal! Arsenal 1, Crystal Palace 2. Odsonne Édouard (Crystal Palace) right footed shot from the centre of the box to the centre of the goal. Assisted by Michael Olise following a fast break.
Corner, Arsenal. Conceded by Vicente Guaita.
Attempt saved. Alexandre Lacazette (Arsenal) right footed shot from the left side of the box is saved in the bottom right corner. Assisted by Pierre-Emerick Aubameyang with a through ball.
Substitution, Crystal Palace. Michael Olise replaces Jordan Ayew.
- Our coverage of your Premier League club is bigger and better than ever before - follow your team and sign up for notifications in the BBC Sport app to make sure you never miss a moment