Manchester City wrestled control of this absorbing Premier League title race as Julian Alvarez's stunning first-half winner ensured Pep Guardiola's side leapfrogged Arsenal at the summit with a hard-fought 2-1 victory against Fulham on Super Sunday.
Fulham boss Marco Silva had labelled City as 'clearly the best team in the Premier League' in the build-up - a clumsy challenge from Tim Ream inside 80 seconds afforded Erling Haaland the chance to bring up a half century of goals this season.
Bernd Leno barely blinked before his spot-kick was dispatched but Carlos Vinicius levelled against the run of play in the 15th minute at Craven Cottage.
Fulham grew into the game but Alvarez, starting in place of the injured Kevin De Bruyne, restored City's lead before the break with a stunning strike in the 36th minute.
If City are to prevail in their quest for this historic treble, they will be required to overcome awkward assignments such as these with Fulham seeing two penalty claims turned down during a fractious second period.
The result means City move a point above Arsenal at the top for the first time since February, with a game in hand against West Ham on Wednesday - live on Sky Sports - while Fulham remain in 10th place on 45 points.
More to follow...
What's next?
Fulham head to Anfield on Wednesday to face Liverpool before taking on Leicester on Monday.
Man City host West Ham on Wednesday as they continue their fight for the Premier League title, live on Sky Sports from 7pm. Pep Guardiola's side only have a few days to rest before taking on Leeds the following Saturday.
Fulham's remaining fixtures
May 3: Liverpool (A) - Premier League, kick-off 8pm
May 8: Leicester (H) - Premier League, kick-off 3pm
May 13: Southampton (A) - Premier League, kick-off 3pm
May 20: Crystal Palace (H) - Premier League, kick-off 3pm
May 28: Man Utd (A) - Premier League, kick-off 4.30pm
Man City's remaining fixtures
May 3: West Ham (H) - Premier League, kick-off 8pm, live on Sky Sports
May 6: Leeds United (H) - Premier League, kick-off 3pm, live on Sky Sports
May 9: Real Madrid (A) - Champions League
May 13: Everton (A) - Premier League, kick-off 3pm
May 17: Real Madrid (H) - Champions League
May 21: Chelsea (H) - Premier League, kick-off 4pm
May 24: Brighton (A) - Premier League, kick-off 8pm, live on Sky Sports
May 28: Brentford (A) - Premier League, kick-off 4.30pm
June 3: Man Utd (N) - FA Cup final, kick-off 3pm
Match Events
0' The match is about to start!
3' Penalty Goal! Fulham 0-1 Man City (Haaland)
11' OFFSIDE! Mahrez’s shot saved by Leno
15' GOAL! Fulham 1-1 Man City (Carlos Vinícius)
28' Grealish hits the post!
36' GOAL! Fulham 1-2 Man City (Julián Álvarez)
53' What a save from Leno!
62' Pereria subbed off after getting injured
70' Yellow Card! Grealish booked
77' Reid fires his shot into the sky!
Line-ups
Fulham XI: Leno, Tim Ream, Bobby De Cordova-Reid, Tete, Pereira, João Palhinha, Harrison Reed, Harry Wilson, T.Adarabioyo, Antonee Robinson, Carlos Vinícius
Subs: Duffy, Tom Cairney, Cedric, Neeskens Kebano, Lukic, Daniel James, Marek Rodak, Diop, Manor Solomon
Man City XI: Walker, Gundogan, Mahrez, Stones, Ederson, Grealish, Ruben Dias, Akanji, Rodri, Haaland, Julián Álvarez
Subs: Carson, Stefan Ortega, Laporte, Bernardo, Kalvin Phillips, Foden, Sergio Gómez, Rico Lewis, Máximo Perrone