Manchester United put on another defensive disasterclass as they lost 3-1 away to Arsenal to lose further ground in the race for the top four.
It was the case of different players, same story for the visitors as they fell behind to another early goal when Raphael Varane and Alex Telles made a mess with a clearance and Nuno Tavares netted for his first goal for the club.
Unlike the lifeless performances against Everton and Liverpool recently, United responded well to going behind and carved out the better chances with Diogo Dalot rattling the woodwork from distance and Bruno Fernandes' shooting boots letting him down again.
But the defensive frailties continued with Eddie Nketiah netting from close range after United's defence stopped thinking it was offside. After a VAR review, referee Craig Pawson disallowed the goal but awarded a penalty to the Gunners for a foul by Telles just before Nketiah scored which Bukayo Saka coolly converted.
Ralf Rangnick's side reduced the deficit just two minutes later when Nemanja Matic's pinpoint cross was smartly tucked away by the returning Cristiano Ronaldo for his 100th Premier League goal.
The Gunners began the second half with more spark, but it was Ronaldo carrying the visitors again, and he had a goal ruled out for offside.
The turning point came when Tavares was penalised for a handball following a corner to concede a penalty. The out-of-form Bruno Fernandes stepped up and his spot kick hit the post.
Fernandes' poor game continued as he mis-controlled the ball near his box 20 minutes from time. It fell to Granit Xhaka, who unleashed a brilliant shot past David De Gea from distance.
The result sees Mikel Arteta's side move fourth, six points ahead of sixth-placed United, and the Gunners have a game in hand.