London: Erling Haaland fired Manchester City to the top of the Premier League as the champions recovered from Joao Cancelo's dismissal to clinch a last-gasp 2-1 win against Fulham, while Leeds staged a stirring fightback to beat Bournemouth 4-3 on Saturday.
Pep Guardiola's side led through Julian Alvarez's first half goal at the Etihad Stadium.
Fulham equalised before the interval when Andreas Pereira converted a penalty awarded for Cancelo's foul on Harry Wilson, with the City left-back sent off much to Guardiola's visible disgust.
But Haaland was the hero yet again after missing City's last two matches due to illness and a foot problem.
On as a substitute, Haaland scored a stoppage-time penalty to notch his 23rd goal in 16 competitive City appearances since his close-season move from Borussia Dortmund.
City's seventh successive home league win lifted them one point above Arsenal, who can go back to the top of the table with a win at London rivals Chelsea on Sunday.
Alvarez opened the scoring after 17 minutes, racing onto a fine through ball from Ilkay Gundogan and firing in a powerful shot off the underside of the crossbar.
But 11 minutes later Cancelo barged Wilson off the ball as the Fulham winger broke though on goal.
Darren England brandished a red card and Fulham midfielder Pereira, formerly of City's arch rivals Manchester United, sent Ederson the wrong way with his spot-kick.
In a thrilling climax, Antonee Robinson's foul on Kevin De Bruyne in the 90th minute conceded a penalty that Norway striker Haaland fired past Bernd Leno.
"It was the moment of my period here in Manchester so far and, of course, the goal at the end, celebrating with our people - we didn't win the Premier League here today, of course, but this moment makes sense of our job for all us," Guardiola said.
Crysencio Summerville starred for Leeds as they came back from 3-1 down at Elland Road.
Summerville was Leeds' match-winner in last week's shock victory at Liverpool and he followed it up with another crucial strike that clinched successive wins for Jesse Marsch's side.
Bournemouth led 2-1 at the break after James Tavernier and Philip Billing had cancelled out Rodrigo's early penalty.
Dominic Solanke put the Cherries further ahead early in the second half.
But Sam Greenwood curled home Leeds' second and Liam Cooper headed them level before Summerville slammed home the winner with six minutes remaining.
Leicester moved out of the relegation zone with a 2-0 win at Everton.
Youri Tielemans put Brendan Rodgers' team ahead in the final minute of the first half with a brilliant volley from 20 yards.
Harvey Barnes wrapped up the points in the 86th minute, blasting home from James Maddison's pass.
Everton's wretched night also featured an injury to Dominic Calvert-Lewin that could rule the England striker out of the World Cup.
Brighton beat Wolves 3-2 at Molineux just hours after the struggling hosts appointed Julen Lopetegui as their new manager.
Former Real Madrid boss Lopetegui, hired to replace the sacked Bruno Lage, will take charge on November 14, when the Premier League pauses for the World Cup.
Interim boss Steve Davis remained in charge against the Seagulls and could not stop second bottom Wolves crashing to a fourth defeat in six games.
Adam Lallana gave Brighton a 10th-minute lead when he curled in his first goal since March 2021.
Goncalo Guedes levelled two minutes later from close-range and Ruben Neves put Wolves ahead with a 35th minute penalty after Lewis Dunk was ruled to have handled.
Japan winger Kaoru Mitoma equalised for Brighton when he nodded in Lallana's deep cross in the 44th minute.
Wolves defender Nelson Semedo was sent off five minutes into first-half stoppage-time after hauling down Mitoma.
And Mitoma set up Pascal Gross to blast into the roof of the net as Brighton stole the points in the 83rd minute.
Bottom-of-the-table Nottingham Forest drew 2-2 with Brentford at the City Ground thanks to a stoppage-time own goal from Mathias Jorgensen.