Fourth-placed Chelsea twice took the lead against Arsenal, who were reduced to 10 men after former Blues defender David Luiz took out Tammy Abraham when he was through on goal.
Jorginho put Chelsea 1-0 ahead from the penalty spot in the 28th minute but Gabriel Martinelli equalised for Arsenal in the second half.
Cesar Azpilicueta put Chelsea 2-1 up with just six minutes remaining but Arsenal levelled only three minutes later through Hector Bellerin.
The 2-2 draw leaves Chelsea six points ahead of fifth-placed Manchester United having played a game extra while Arsenal are in 10th spot, seemingly out of the running for a place in the top four.
Chelsea boss Frank Lampard was frustrated that his team had not been more clinical in front of goal.
“We could have had three or four goals today,” he told the BBC. “Having shots, crosses and lots of ‘ooh’ moments. We have to be clinical.”
Arsenal boss Mikel Arteta hailed his side’s reaction.
“To do that against this kind of opponent in this stadium, I really value,” he said. “The way they have done it, with the spirit they have done it, that’s great.”
Aguero spares City blushes
Pep Guardiola’s City, with defender Aymeric Laporte back in the side, looked as though they might rue Gabriel Jesus’s squandered first-half penalty but their Argentine hitman Sergio Aguero came to the rescue.
Despite the 1-0 win, second-placed City remain 13 points behind runaway leaders Liverpool, having played two games more, and their bid to defend their title appears hopeless.
City’s French central defender Laporte has been out of action since suffering a knee injury at the end of August and he was a surprise inclusion at Bramall Lane.
Sheffield United goalkeeper Dean Henderson denied Jesus from the penalty spot about 10 minutes from half-time after a foul on Riyad Mahrez.
But City made amends when substitute Sergio Aguero, on for Jesus, tapped in from Kevin De Bruyne’s cross in the 73rd minute.
“We knew it would be a difficult place to come,” Guardiola said. “We concede one or two clear chances, nothing more than that.
“In the first half the ‘keeper was excellent with the penalty and two incredible saves. It was an incredibly good victory for us to take a step towards securing Champions League football next season.”
Southampton’s 2-0 victory against Crystal Palace, thanks to goals from Nathan Redmond and Stuart Armstrong, continued a remarkable turnaround for the club, who hit rock bottom earlier this season in a 9-0 defeat by Leicester.
“Throughout the team — the behaviour, belief — everyone is absolutely committed,” said Southampton manager Ralph Hasenhuettl.
“They know what they have to do and the atmosphere is fantastic. Everyone enjoys to play.”
Watford took the lead against Villa when Troy Deeney headed in Gerard Deulofeu’s cross but the home side hit back in the second half through Douglas Luiz.
Tyrone Mings scored a dramatic late winner for Villa deep into stoppage time to end Watford’s recent revival under Nigel Pearson.
Moise Kean scored his first goal for Everton since his arrival from Juventus in the 30th minute of their match against Newcastle and Dominic Calvert-Lewin doubled the lead in the second half.
Everton were cruising deep into stoppage time but threw away the three points, with Lejeune striking twice.
Bournemouth, who had lost their previous four matches, all against relegation rivals, beat Brighton 3-1 thanks to goals from Harry Wilson, an own goal from Pascal Gross and a second-half Callum Wilson effort.
Jurgen Klopp’s Liverpool are in action on Thursday at Wolves after Manchester United take on Burnley without Marcus Rashford, who could be out for three months with a back injury, on Wednesday.