Arsenal beat Manchester United 3-1 at the Emirates Stadium in one of the season's most entertaining matches.
Goals from Nuno Tavares, Bukayo Saka and Granit Xhaka saw Arsenal climb above rivals Spurs into fourth place ahead of their clash at Brentford, while Cristiano Ronaldo grabbed United's sole strike.
Arsenal took a third-minute lead when both Raphael Varane and Alex Telles failed to clear a Xhaka cross, allowing Saka to ghost in and get a shot away. David de Gea did well to save the initial effort, but Tavares was on hand to tap in the rebound.
United missed a great chance to equalise when Ronaldo released Anthony Elanga, but Tavares retreated in time to narrow the angle and the Swede's shot was palmed behind by Aaron Ramsdale. Scott McTominay towered above Tavares from the resulting corner but couldn't keep his header on target.
Ramsdale was let off the hook when he cleared straight into the path of McTominay, but Bruno Fernandes' dink was blocked behind by Gabriel and Arsenal's lead remained in tact.
Tavares again went stride-for-stride with Elanga after being sent through by Ronaldo, while United's returning number seven fired over from just inside the Arsenal penalty area.
Appeals for a Man Utd penalty for a blatant handball against Cedric were dismissed before Diogo Dalot rattled the crossbar from distance, and the United full-back was lucky that Eddie Nketiah fired straight at De Gea after playing him well onside.
But Nketiah did have the ball in the net moments later. Martin Odegaard's clever pass found Saka, who fell under a challenge from Telles, though the ball rolled into the striker's path to tap home. A VAR check concluded Nketiah was offside, but a separate check saw referee Craig Pawson sent to the monitor to review Telles' nudge on Saka and Arsenal were handed a penalty.
The Gunners winger stepped up and sent De Gea the wrong way to cement their two-goal cushion.
United went straight down the other end though and Ronaldo joined the Premier League 100 club with a strong finish from a Matic cross, ghosting between Tavares and Gabriel before firing into the top of the net.
Telles and Odegaard both had sighters punched away in first-half stoppage time and the score remained 2-1 going into the break.
After the interval, a decent spell of Arsenal possession saw Tavares skin Dalot and open up the chance to score his second of the afternoon, but this time his shot went into row Z.
And the Portuguese youngster gave away a penalty for a foolish handball minutes later, but was saved when Fernandes' spot kick trickled off the post and rolled wide.
Ronaldo thought he'd equalised but was denied by a late offside flag and a rather lengthy VAR check, and Dalot's fierce strike was pushed onto the upright by Ramsdale.
Arsenal restored their two-goal cushion through a 25-yard piledriver from Granit Xhaka after Mohamed Elneny robbed Fernandes of possession.
Mikel Arteta's Gunners were able to stroll to the three points from there on in, putting the pressure back on Tottenham to match their result later on Saturday. Ralf Rangnick's side meanwhile could finish the weekend in seventh place.
1. Arsenal (4-2-3-1)
GK: Aaron Ramsdale - 5/10 - A couple of wayward kicks. Did not inspire confidence.
RB: Cedric - 4/10 - Sancho wasn't particularly amazing but Cedric was still given the runaround. Very lucky not to have conceded a penalty in the first half.
CB: Ben White - 6/10 - Arsenal's calmest defender on the day but the bar wasn't high.
CB: Gabriel - 4/10 - Far too weak in the challenge and simply allowed Ronaldo to move in front of him for his first goal.
LB: Nuno Tavares - 5/10 - Great movement to sneak in behind the United defence for the opener. United targeted him and in the end he shot himself in the foot, producing a horrendous second-half display.
CM: Mohamed Elneny - 6/10 - Pressed plenty but didn't panic. Didn't offer much creativity either, mind.
CM: Granit Xhaka - 7/10 - Panicked a little bit more but the pay-off was the occasional decent pass through the lines. Brilliant strike to seal the win.
RM: Bukayo Saka - 8/10 - Played a crucial role in both goals and had Telles on skates.
AM: Martin Odegaard - 7/10 - Picked out some clever balls through United's leaky defence.
LM: Emile Smith Rowe - 4/10 - Played on the periphery and should have made more of Dalot's nightmare.
CF: Eddie Nketiah - 7/10 - Energetic and a live-wire while he was unlucky not to have found the net himself.
SUB: Gabriel Martinelli (64' for Smith Rowe) - 5/10
SUB: Rob Holding (74' for Saka) - 5/10
SUB: Takehiro Tomiyasu (90' for Cedric) - N/A
2. Manchester United (4-2-3-1)
GK: David de Gea - 6/10 - As is usually the case in this fixture, De Gea kept the scoreline respectable.
RB: Diogo Dalot - 2/10 - A tragedy from start to finish. All over the place and never knew where to stand.
CB: Victor Lindelof - 5/10 - Was to United what White was to Arsenal - composed, but it didn't really count for much.
CB: Raphael Varane - 3/10 - A nightmare opening but wasn't as much of a liability thereafter. Still pretty bad, however.
LB: Alex Telles - 2/10 - At fault for Arsenal's two goals and was generally fortunate that Saka showed a bit of mercy.
CM: Scott McTominay - 6/10 - Competed well physically but was technically below the levels of Xhaka and Elneny.
CM: Nemanja Matic - 7/10 - One of his better days, enjoying the midfield battle.
RM: Anthony Elanga - 5/10 - Got into dangerous areas but lacked the finishing touches.
AM: Bruno Fernandes - 2/10 - Found it hard to even complete the basics, crucially including penalty-taking. Fortunate to have escaped a red card for a petulant tackle late on.
LM: Jadon Sancho - 5/10 - Played the game at walking pace but still gave Cedric problems. Needed to contribute more, though.
CF: Cristiano Ronaldo - 7/10 - Dropped deep to link play well and was a menace in the penalty area.
SUB: Marcus Rashford (77' for Matic) - N/A
SUB: Jesse Lingard (77' for Elanga) - N/A
SUB: Juan Mata (84' for Fernandes) - N/A