This was a wonderful day in the sun at Stratford. Fulham rarely beat West Ham away from home, but fully deserved their first double over the Hammers since 1966. Nobody had a bad game – making this assignment a real pleasure.

Bernd Leno: The German goalkeeper kept a ninth clean sheet of the season at the London Stadium as the Whites turned in a textbook away display. It might have been different had either Michail Antonio or Lucas Paqueta hit the target with early chances, but Fulham weathered the storm and grew in confidence to record another London derby victory. Leno led by example, making a number of saves but he wasn’t overly extended. 7

Timothy Castagne: Another excellent display from the Belgian right back, who roamed forward with intent in the first half – twice popping up in the final third in penalty of space. He kept Paqueta particularly quiet and was always looking for a forward pass in position. The former Leicester full back deserves plenty of plaudits for the way he has made the right back spot his own and this was a peerless performance. 7

Antonee Robinson: It looked like it might be a long afternoon for the American as he was all too easily beaten by a mazy dribble from Vladimir Coufal, but Fulham were grateful for Antonio spooning the ensuing shot over. Robinson rarely gets roasted by an opposition winger and he largely nullified Mohamad Kudus here. Defended diligently, looked to run into open space in front of him and linked up with the wonderful Willian down the left flank. 7

Tosin Adarabioyo: A composed and assured afternoon of defending from Tosin, who was a key reason why the Whites kept a valuable clean sheet. He was physically strong enough to deal with any high balls aimed in the direction of Antonio or Danny Ings, but former Manchester City man is so suited to Marco Silva’s system because of how comfortable he is on the ball. Overcome a couple of iffy moments early on to show why the Whites have offered him a bumper contract extension. 7

Calvin Bassey: Another calm and composed outing for Bassey, whose combination of physicality, speed and reading of the game also make him an important component of Silva’s side. The Fulham back four were resolute as well as relentless in recycling the ball, with West Ham’s forward line unable to make much of an impression. Bassey made eleven clearances and four key tackles, but looked as relaxed on the field as he was strolling through Westfield and sharing selfies and signatures with the fans afterwards. 7

Joao Palhinha: Palhinha’s penchant for a tackle is well known by now, but his ridding Paqueta of possession in the centre circle was genuinely match-winning. The Portuguese international quickly played a forward pass and the Whites made the most of an opportunity to pile numbers forward, with Pereira turning home Alex Iwobi’s cross. With less of the ball, Palhinha’s screening of the back four is all the more important. He won the midfield battle hands down, winning five of nine tackles and recovering the ball on seven occasions in an imperious showing. 8

Sasa Lukic: The Serbian international had a more disciplined defensive role, not just to prevent James Ward-Prowse and Edson Alvarez from dictating play in the middle of the park but also shutting down the dangerous Lucas Paqueta. He fulfilled his task terrifically – and helped Fulham keep the ball well, if not with the class of captain Tom Cairney. Getting the better of Bruno Fernandes, James Maddison and Paqueta shows just how well the Sabac-born midfielder has done in the second half of the season. 7

Alex Iwobi: The Nigerian international had a bit of a slow start, but warmed to his task impressively. His work ethic along the right flank was impressive all game, even if he could quite easily have scored another goal himself – with the best chance coming from a blistering Fulham break on the hour mark when Fabianski got down to push his shot past the post. But Iwobi kept plugging away and laid the second goal on a plate for Pereira to seal a superb away win. 7

Willian: The brilliant Brazilian continues to shine on the big stage – making offering him another year at the Cottage a no-brainer. He ran rings around Coufal down the right, creating a glorious opportunity for Pereira to double the lead with a lovely ball into the box only a few minutes after his compatriot had fired Fulham in front. He was denied a goal of his own by a fine Fabianski save and the Polish goalkeeper excelled himself again to thwart Iwobi after the veteran had charged deep into West Ham territory. 8

Andreas Pereira: Here was Andreas Pereira at his brilliant best. I’ve been critical of the Brazilian international at terms this season, but he’s integral to the Silva system in the way that he leads the press and drops into pockets of space to pick up possession. Silva’s been adamant that the number ten should add more goals to his game – and, after waiting 29 games for one since his instinctive finish at Arsenal, two came along like London buses in Stratford. His slammed home the first after seizing on Mavropanos’ mistake, but shone throughout before finding himself in the perfect place to prod in Iwobi’s cross to round off an excellent afternoon. 9

Rodrigo Muniz: The Premier League player of the month for March might not have scored but he was a constant thorn in the side of Mavropanos and Aguerd at the heart of the West Ham defence. His hold up play has come up leaps and bounds in the last few months and an indication of just how high his confidence is at the moment came with that audacious attempt at a backheeled finish early in the second half. Fully deserved to take the acclaim of the travelling fans when he was withdrawn late on. 7

Substitutes:

Harry Wilson: Brought up a century of Fulham appearances after replacing Iwobi. Had a couple of moments in the final third as Fulham found spaces at the back with West Ham flooding numbers forward in the last quarter of the contest. 6

Bobby De Cordova-Reid: A cool cameo from the Jamaican international who came on for the matchwinner Pereira. Tenacious in the tackle and played a couple of passes that exploited the space in behind the Hammers rearguard. 6

Adama Traore: Came on for Willian in added time. 6

Armando Broja: Replaced Muniz in stoppage time and put himself about a bit. 6

Harrison Reed: Had just a few minutes at the tail end of a terrific performance to help see it out. 6