Arsenal ended their seven match winless run in the Premier League with a surprise 3-1 London derby victory over Chelsea at the Emirates Stadium on Saturday while Manchester United were held to a 2-2 draw at Leicester City.
Everton moved into second spot with a late winner in a 1-0 defeat of bottom club Sheffield United while Manchester City moved fifth thanks to a 2-0 win over Newcastle United.
Manchester United, who had won their last 10 away games in the Premier League, dropped to fourth on 27 points, with third-placed Leicester on 28 and a resurgent Everton on 29.
Leaders Liverpool (31) can extend their lead when they face West Bromwich Albion on Sunday.
Chelsea's third defeat in four games drops them to seventh, behind Aston Villa on goal difference after Dean Smith's side beat Crystal Palace 3-0.
Under pressure Arsenal manager Mikel Arteta's troubles looked to have increased with several regulars ruled out for the visit of a Chelsea side that could have gone second with a win.
But the Gunners took the lead in the 35th minute through an Alexandre Lacazette penalty after Kieran Tierney was adjudged to have been clipped in the box by Reece James.
Nine minutes later, Granit Xhaka's unstoppable freekick past Edouard Mendy made it 2-0.
Visibly frustrated Chelsea coach Frank Lampard replaced out-of-form Germany striker Timo Werner with winger Callum Hudson-Odoi and Mateo Kovacic with Jorginho at halftime but Arsenal sealed a timely win in the 56th minute when Bukayo Saka's cross floated over Mendy and the ball went in off the post.
Tammy Abraham grabbed a late consolation from a Hudson-Odoi cross and Chelsea could have scared Arsenal further if Jorginho had not had a 90th-minute penalty saved by Bernd Leno.
"That shows you we're able to do it when we're at our best. Can we do it every three days? That's the question mark we need to respond in the next weeks or so," Arteta, whose side are in 14th spot, told reporters.
Marcus Rashford put United ahead in the 23rd minute with a cool finish after being slipped in by Bruno Fernandes but Harvey Barnes equalised eight minutes later from the edge of the box.
Fernandes restored United's lead in the 79th minute, drilling into the bottom corner after being found inside the area by substitute Edinson Cavani.
Again though, the lead was short-lived as Vardy's first time shot on the half-turn from a low cross from Ayoze Perez, deflected off United defender Axel Tuanzebe.
"One point is not the worst result but we're disappointed to not get the three points against a tough side," United manager Ole Gunnar Solskjaer said.
Aston Villa made light of playing half the match with 10 men to thrash Crystal Palace 3-0.
Bertrand Traore put an impressive Villa side ahead early on but the hosts had Tyrone Mings dismissed shortly before the break after picking up a second yellow card.
It made little difference as they outplayed Palace in the second half with Kortney Hause heading in from close range to double their lead in the 66th minute and Anwar El Ghazi's rasping finish 10 minutes later wrapping up the points.
Everton left it late with Gylfi Sigurdsson's 80th-minute goal earning them the points at Sheffield United.
Goals in each half from Ilkay Gundogan and Ferran Torres allowed Manchester City to cruise past Newcastle.
City have kept their 13th clean sheet of the campaign, more than any other team within the top five European leagues this season. They travel to second-placed Everton on Monday.
Southampton were left frustrated by a 0-0 draw at Fulham as James Ward-Prowse hit the woodwork with a 26th minute freekick and both Shane Long and Theo Walcott had efforts ruled out.
Fulham remain in the relegation zone, on 11 points in 18th place, while Southampton are ninth on 25 points.
Messi breaks Pele's record with 644th goal for Barca
Maradona autopsy shows no drink or illegal drugs
Football: Playing without fans horrible, says Messi
PIX: Qatar unveils fourth 2022 World Cup stadium