You could definitely make a case for this being one of Fulham’s finest performances of what has been a stellar season. Marco Silva’s side were without Aleksandar Mitrovic and Willian and, by full time, had lost the services of Tim Ream and Andreas Pereira, but just as at the Etihad earlier in the season, the Whites pushed the defending champions all the way.

Bernd Leno: Our BFG had no chance with either of the City goals. He at least went the right way for Haaland’s precisely placed penalty, but couldn’t get near Edson Alvarez’s wonderful winner. But he kept the Whites in the game with a series of superb saves. Leno’s agility was on display as he kept himself airborne long enough to turn Grealish’s goalbound strike onto the crossbar and, after half time, he did brilliantly to get down to another Haaland piledriver. In between, he blocked bravely with his legs from Rodri. 8

Kenny Tete: The Dutch full-back started pensively against Grealish, allowing the former Aston VIlla to cut inside far too easily, but grew in confidence the longer an intriguing battle lasted. His timing in the tackle became impeccable and, on the rare occasions that Fulham were able to be mount attacks, Tete could be seen accelerating along the right flank in support. The intensity of the one-on-one duel got to Grealish, who might count himself lucky not to be sent off (just as he was at Wembley five years), and ended the afternoon ear-cupping the Johnny Haynes Stand. 7

Antonee Robinson: The American international had a difficult afternoon against Riyad Mahrez, but he raised the volume level inside Craven Cottage with a superb sliding tackle on the winger having sprinted sixty yards to halt a City break after being caught upfield when the Whites lost the ball. He played a part in Fulham’s fabulously fashioned leveller and, just like all of his team-mates, kept fighting until the very end of injury time. 6

Tosin Adarabioyo: Tosin’s performances since returning to the side have been nothing short of exceptional. He barely put a front wrong against West Ham despite that agonising defeat and was imperious in the wins over Leeds United and West Ham. On a day when the Fulham defence was always likely to be challenged, the tall central defender acquitted himself admirably against the club where his footballing education began. He was strong in the air against Haaland and company, composed in possession and coped with the early departure of Ream. 7

Tim Ream: You don’t always get what you deserve in professional sport but for Tim Ream’s terrific redemption season to end with a broken arm midway through this fixture was heart-wrenching. The St. Louis native has proven everyone wrong with his reliability at the highest level and Fulham will find the final weeks of the campaign tougher for his absence. Perhaps the most infuriating aspect of the American’s enforced absence was the fact that his injury was caused by a kick from Edson Alvarez. That was clear to everyone in the Hammersmith End, but neither the referee or his assistant spotted something that had a material outcome on the result. 6

Joao Palhinha: We’ll soon run out of superlatives for our Portuguese high prince of tackling. Palhinha had to use all of nous to protect the Fulham defence on an afternoon when the hosts were always likely to up against it – and this all-action performance will no doubt prompt another week of tittle tattle in the tabloids and conveyors of clickbait about the top teams being interested in his services. If Declan Rice is worth more than a hundred million, then an awful lot of cash will have to put on the table to tempt Fulham to part with Palhinha, who is on a six-year contract and loving his football under Silva. 7

Harrison Reed: The Ginger Iniesta gave everything, as always, but the peerless nature of City’s passing meant that his best attributes were largely nullified. There were plenty of shuttle runs and tenacious tussles for possession, but neutral observers wouldn’t have seen his range of passing or intelligence on the ball that have been part of such a superb season. Reed fought valiantly against the visiting midfield but Guardiola’s 3-4-2-1/4-2-3-1 hybrid made it tough for Fulham to build up a head of steam. 6

Bobby Decordova-Reid: Our battling Bristolian did everything that was asked of him in the absence of Willian along the left wing. Most of his duties were defensive, working to negate the threat by City’s awesome arsenal of attacking talent, but Decordova-Reid attacked with ambition where possible. His best moment came when he drove directly at goal in a central position and shot over the angle of post and bar, but Fulham could quite easily have been awarded a penalty when he was bundled over in the box by Kyle Walker, who had no interest in playing the ball. 7

Harry Wilson: The Welshman, like Decordova-Reid, was destined not to have the amount of touches in the final third that he usually does – on account of City’s monopolisation of the ball. But he still made those moments count, setting up the equaliser Carlos Vinicius with a clever back header, and looked lively when on the ball. Most importantly, he worked hard in maintaining Fulham’s disciplined defensive shape when the Whites were out of possession, on an afternoon when it was all about work ethic. 6

Andreas Pereira: Rather like Ream, we have to fear that this could be end of the Brazilian’s brilliant season after he was stretchered off with what looked like a broken ankle after coming off worse in a 50/50 challenge. Pereira was bright again and buzzed around leading Fulham’s press from a mid-block even if his opportunities on the ball were severely limited. He was taken straight to hospital and thus denied a chance to help the hosts press for a late leveller. 6

Carlos Vinicius: There should be a bit of praise for the Brazilian forward after an excellent display against the best side in the land. Vinicius has borne the brunt of plenty of criticism this season and just the announcement of the starting line-up saw some supposed Fulham fans declaring that they’d ‘had enough’ of him. Vinicius made the detractors eat their words with a performance that asked searching questions of the City back three, capped with a glorious finish to level the scores. He made have been sharper when a loose ball looked to have bounced away from Ederson, but this was easily his finest showing in a Fulham shirt. 7

Substitutes:

Issa Diop: Stepped into one of the toughest examinations a Premier League defender can have at moment – shackling Haaland in his prime – and did very well when you consider how tough it is to get up to the pace of a game you weren’t expecting to join. You always wonder whether the Tosin/Diop axis will be the Fulham central defensive partnership of the future – and I think Craven Cottage would enjoy that combination in due course. 6

Tom Cairney: The captain’s enduring class meant Fulham were able to keep City sweating right until the final whistle. The circumstances of his arrival, replacing the injured Pereira, proved unfortunate but this cameo, which saw Cairney both maintain possession and use it intelligently, proved once again that he can be a real asset in the top flight. He suits Silva’s style perfectly and may get a few starts between now and the end of the season. 7

Manor Solomon: Solomon sought to create where possible but found it difficult to impose himself on this game. As at Aston Villa, City were prepared for him cutting in from the left onto his right foot and stuck two men on the Israeli to blunt one of Silva’s substitutes sufficiently. 6

Dan James: The rapid Welsh international ran around a lot but couldn’t greatly influence the game the right flank after replacing his compatriot Harry Wilson. 6

Sasa Lukic: There were more signs that the Serbian is getting to grips with the Premier League, but like Solomon and Jones he didn’t have enough time or space to make more than a fleeting impression. 6