For the second time this season, Fulham pushed the defending champions all the way and emerged with nothing but plaudits for their enterprise and endeavour. Marco Silva’s side had come within seconds of a precious point at Eastlands in November without Aleksandar Mitrovic, but the Whites lost the services of Tim Ream – to a broken arm – and Andreas Pereira during the course of this tighter-than-expected tussle at Craven Cottage, which Manchester City only edged thanks to a moment of magic from Julian Alvarez.

Pep Guardiola’s side had stylishly swept aside Arsenal in midweek and they are now heavy favourites to retain the Premier League title. But, whilst there was beauty in the metronomic manner of their precise passing, this narrow victory owed more to grit than glamour. The predatory instincts of Erling Haaland are not in doubt, but the Norwegian was successfully nullified after becoming the first man in English football to score fifty goals since 1931 with a perfectly-placed penalty in the fourth minute. Fulham could have folded after such an early setback, but instead equalised through a fine finish from Carlos Vinicius, and remained in the contest even after Alvarez bent a brilliant shot around the otherwise excellent Bernd Leno to restore the visitors’ lead.

No City fan will count their chickens despite Guardiola’s boys being in the box seat. They might have been a trifle fortunate to emerge victorious here, with Fulham emboldened by the introduction of Tom Cairney from the bench, posing a threat until the end. Cairney intervened as peacemaker when things threatened to boil over between Jack Grealish and Kenny Tete, with the England international shown only a yellow having raised his hands to Fulham’s Dutch full back. Kyle Walker got away with bundling over Bobby Decordova-Reid in the penalty area and the sight of City’s expensively-assembled squad keeping the ball in the corner shows just how successful Fulham’s return to the top flight has been under Silva.

Their task was always likely to be herculean but it became even harder when Ream caught Alvarez in the area after a clever switch of play from Grealish. Referee Simon Hooper pointed to the spot even before the City players had stopped appealing and Haaland, who seems to thrive on high-pressure moments, powered a low shot into the bottom corner. Leno had no chance – even though the German guessed the right way. For a while, it looked like it might be a procession – Haaland turned provider to release Grealish, who darted inside Tete only to shoot tamely at Leno.

But Fulham, who had barely seen any of the ball, fought gamely. Joao Palhinha snapped into tackles and when Antonee Robinson halted a rapid Riyad Mahrez break with a superb sliding tackle, the roar from the Cottage faithful was almost reminiscent of when Simon Davies equalised against Hamburg. City often pushed John Stones into midfield and shifted Walker across to become one of three centre backs but Silva’s side were sharp enough to take advantage. Pereira found space and floated a lovely ball out to Harry Wilson. The Welshman scampered past a static Manuel Akanji and cushioned a cute header for Vinicius. The Brazilian blasted a powerful finish past a startled Ederson.

The home side’s plans were then disrupted as Ream, who had played all 79 league under Silva, was substituted having been kicked in the arm by Alvarez as the pair contested a loose ball on the byline. Fulham’s defending was less composed without Ream’s reassurance, even though Issa Diop and Tosin Adarabioyo did very well. The home side were certainly hanging on when Leno tipped a Grealish effort onto the bar and Alvarez somehow missed the target from the rebound. The Argentinian World Cup winner made up for that with a wonderful curler after he had carried the ball deep into Fulham territory having received possession from Mahrez.

The visitors had chances to extend their lead, with Leno thwarting ?lkay Gündogan, Haaland and Álvarez in the second half, but by the end it was the Whites who were making all the running. Cairney distributed the ball intelligently and threw himself into tackles as Fulham fought and fought after the Craven Cottage faithful had paid a touching tribute to lifelong fan Lisa Hughes, who passed away aged just 46 on Tuesday. They couldn’t force an equaliser with Ederson recovering to deny Vinicius on the edge of the area after a defensive mix-up, and Decordova-Reid firing over from outside the box after a purposeful run. The Jamaican international was then clearly taken out by Walker, but referee Hooper wasn’t interested in awarding a penalty this time.

FULHAM (4-2-3-1): Leno; Tete, A. Robinson, Adarabioyo, Ream (Diop 22); Palhinha, Reed (Lukic 76); Decordova-Reid (James 76), Wilson (Solomon 76), Pereira (Cairney 58); Vinicius. Subs (not used): Rodak, Cedric Soares, Duffy, Kebano.

BOOKED: Tete.

GOAL: Vinicius (15).

MANCHESTER CITY (3-4-2-1): Ederson; Walker, Dias, Akanji; Stones, Rodri; Mahrez (Foden 83), Grealish, Gündogan, Alvarez (Bernado Silva 83); Haaland. Subs (not used): Ortega, Carson, Laporte, Lewis, Gomez, Phillips, Perrone.

BOOKED: Grealish, Ederson, Walker.

GOALS: Haaland (pen 3), Alvarez (36).

REFEREE: Simon Hooper (Swindon).