Erling Haaland missed a penalty as Manchester City’s frustrating run of form continued with a 1-1 draw against Everton.
The champions avoided a 10th defeat in 13 outings in all competitions, but were held by the Toffees after Iliman Ndiaye cancelled out Bernardo Silva’s opener.
Haaland was then unable to send City back to winning ways in the league when his second-half spot-kick was saved by Jordan Pickford.
Rodrigo Muniz struck in the fifth minute of stoppage time as Fulham snatched a 2-1 victory over Chelsea.
Cole Palmer sent Chelsea ahead just 16 minutes in before a late charge from Fulham saw Marco Silva’s side earn three points when Harry Wilson levelled and Muniz found a late winner.
Chelsea sit second in the table, only one point above Nottingham Forest, who beat Tottenham 1-0 at the City Ground.
Anthony Elanga’s goal was the difference to earn three points and Spurs’ afternoon soured further when Djed Spence was sent off in stoppage time as Ange Postecoglou’s side were handed their fifth defeat in eight Premier League games.
Newcastle move up to fifth in the table after beating 10-man Aston Villa 3-0.
Anthony Gordon sent the Magpies ahead 80 seconds into the game before the visitors were handed a blow when Jhon Duran was dismissed with a straight red card after making contact with Fabian Schar’s back.
Newcastle took advantage of their extra player as Alexander Isak scored his 12 goal of the season before Joelinton wrapped up a fourth straight win in all competitions.
New Southampton boss Ivan Juric got off to a losing start in his first game in charge after his side were beaten 1-0 by West Ham.
Jarrod Bowen’s close-range strike was enough to secure a second win in four games for the Hammers, who move into 13th.
Elsewhere, Bournemouth extended their unbeaten run to six Premier League games with a goalless draw against Crystal Palace.