Alexandre Lacazette snatched a point from the jaws of defeat as Arsenal drew 2-2 with Crystal Palace on Patrick Vieira's return to the Emirates Stadium.
Pierre-Emerick Aubameyang's rebound gave Arsenal an eighth-minute lead but Palace staged an incredible second-half comeback as goals from Christian Benteke (50) and Odsonne Edouard (73) left former Gunners captain Vieira seconds away from victory at the club he won three Premier League titles at over a nine-year spell as a player.
Arsenal looked out of ideas after Kieran Tierney rattled the crossbar late on but, just when it seemed Palace had soaked up everything Arsenal could throw at them, substitute Lacazette rammed home a rebound in the fifth minute of stoppage time to salvage a point.
The draw extends Arsenal's unbeaten league run to five games and prevents Palace from leapfrogging the Gunners in the Premier League table.
Arsenal: Ramsdale (6), Tomiyasu (6), Gabriel (6), White (7), Tierney (6), Partey (5), Odegaard (5), Saka (5), Smith Rowe (5), Pepe (5), Aubameyang (7).
Subs: Lacazette (6), Lokonga (6), Martinelli (6).
Crystal Palace: Guaita (7), Ward (6), Andersen (6), Guehi (6), Mitchell (7), Gallagher (8), Milivojevic (5), McArthur (5), Ayew (7), Edouard (8), Benteke (8).
Subs: Tomkins (6), Olise (6), Kouyate (6).
Man of the Match: Conor Gallagher
Lacazette snatches late point on Vieira's return
Vieira received a rousing reception as the teams made their way onto the pitch, but the warm welcome lasted all of eight minutes as Arsenal made a perfect early start.
The Gunners opened the scoring through captain Aubameyang, who tapped in a rebound from a tight angle after goalkeeper Vicente Guaita had done well to prevent Nicolas Pepe's shot from curling into the far corner.
Palace responded well to falling behind, preventing Arsenal from kicking on and pushing hard for an equaliser before the break, with Benteke and the impressive Conor Gallagher both drawing Aaron Ramsdale into saves before half-time.
- Nicolas Pepe replaced Sambi Lokonga in Arsenal’s only change from the goalless draw at Brighton.
- Crystal Palace were without Wilfried Zaha as Christian Benteke came into the side that drew 2-2 with Leicester before the international break.
James McArthur was fortunate to only see yellow for a reckless swipe on Bukayo Saka's calf before the break, with the Arsenal youngster off during the interval.
After Thomas Partey whistled a shot past the angle of post and bar within minutes of the restart, Vieira's side grew as an attacking force and restored parity soon after.
Partey was closed down by Jordan Ayew in midfield and the ball broke to Benteke, who skipped around Gabriel Magalhaes before rifling in his fourth Emirates Stadium goal with an unerring equaliser.
Vieira showed no hesitation punching the air in celebration and watched on as Palace pushed for a quick-fire second, but Ayew's thunderous drive from the edge of the box drew a fine fingertip save from Ramsdale.
Mikel Arteta introduced Lacazette on 67 minutes and the Frenchman injected some much-needed urgency into the Arsenal attack, linking up with Aubameyang and a brilliant save from Guaita.
But Arsenal's momentum was stopped in its tracks when Palace robbed Sambi Lokonga of possession and drove into opposition territory, where Edouard thundered a stunning effort in off the underside of the bar.
Palace opted to sit back and soak up the Arsenal pressure, a strategy which nearly delivered victory, with the Gunners only able to smash the underside of the bar through Tierney. But with the final kick of the game, a ball fell for Lacazette after Palace failed to clear their lines and he snatched a dramatic late point.
- Arsenal have lost just one of their last six Premier League home games (W4 D1) after losing three of the five before that (W1 D1).
- Crystal Palace are unbeaten in their last four Premier League away games against Arsenal (W1 D3), after avoiding defeat in just four of their previous 18 visits to Highbury/Emirates Stadium in league competition (W1 D3 L14).
- Arsenal made two errors leading to goals in a Premier League game for the first time since April 2019 vs Wolves and for the first time at the Emirates since December 2017 vs Man Utd.
- Since making his Arsenal debut in February 2018, Pierre-Emerick Aubameyang has scored 91 goals in 156 club appearances - the only Premier League players to score more in all competitions during this period are Mohamed Salah (109) and Harry Kane (99).
- Crystal Palace striker Christian Benteke has scored six goals in 16 Premier League appearances against Arsenal, only scoring more in the competition against Chelsea and Sunderland (seven against both).
- Crystal Palace attacker Odsonne Édouard has averaged a goal every 90 minutes in the Premier League this season (3 goals), the third-best rate of any player in the division to net 3+ goals in 2021-22 (Firmino 53.7, Calvert-Lewin 82.7).
What the managers said…
Arsenal head coach Mikel Arteta: "We started the game very well, very dominant, very fluid. We deserved a goal and scored the goal, were in total control. After that we lacked composure, belief and maturity to manage the game.
"We didn't enjoy that period. We changed a couple of things at half-time, we were better and controlled again, but then we gave the ball away, something you cannot do in this league.
"After that it was a difficult mountain to climb but credit to the team, they never gave up, the substitutes were magnificent, and we created three big chances and scored the goal I think we deserved right at the end."
Crystal Palace manager Patrick Vieira: "It was so close, but we have been saying that a little bit too often. We have to learn from the games we played previously. I am really disappointed because the way the team came back in the second half, they deserved to win the game.
"I am frustrated for them; they were brave and showed character and to concede a goal like that I am disappointed for my players. We conceded those goals on set pieces on the second phases and we need to work on that. We have to pull our sleeves up and put our bodies on the line.
"We were really unlucky today; it is the way it is, but I believe there is more to come from the team to challenge even better. These games will make us stronger. A performance like that allowed me to be more demanding of the players and go back to the field and improve ourselves again."
Man of the Match - Conor Gallagher
Sky Sports' Gary Neville:
"I liked his energy, his commitment to go and press the ball, his intensity breaking up play and, when he got the ball, he used it. You need players in your team who are going to go and win the ball back, do the hard yards. It was a really proactive performance that Crystal Palace can be proud of, and Conor Gallagher was a big part of that."
Arsenal host Aston Villa on Friday Night Football at 8pm - live on Sky Sports - before Crystal Palace host Newcastle in the Premier League on Saturday at 3pm.