Marco Silva was seething after the final whistle at the London Stadium. A makeshift Fulham side were in the game, even after a moment of stupidity from Andreas Pereira cancelled out his earlier bit of brilliance, and more than playing their part in an entertaining London derby. The Fulham head coach, like everyone else of a black and white persuasion, was furious that Gianluca Scamacca’s lofted finish over Bernd Leno was allowed to stand after the Italian used his hand and elbow to control Lucas Pacqueta’s ball over the visiting back line. The VAR, Michael Salisbury, ruled that there wasn’t enough of an infringement to instruct the referee, Chris Kavanagh, to alter his decision or view the incident for himself. You have to wonder what he was watching.

To add insult to injury, as Fulham were in the midst of a mighty push to find an equaliser in added time, substitute Michail Antonio used a hand to propel the ball away from Joao Palhinha on his way to scrambling in a third that finally killed off the Cottagers. Fulham fans with decent memories will recall Chicharito punching in a goal in the pre-VAR days the last time the Whites took the lead here, so there is at least precedent for illegal use of the arm: but for the officials to miss two big calls underlines the problems the Premier League currently has with officiating.

Fulham also vigorously protested the penalty decision that brought West Ham level after a decidedly jittery start, but they were on much thinner ice here. Kavanagh had already warned both Craig Dawson and Pereira about their grappling at a corner twice before the Brazilian decided to continue wrestling with the West Ham defender in a fashion more appropriate to Tony Khan’s AEW – and a spot-kick was the clear conclusion. You have to ask why an attacking midfielder, hardly noted for his heading ability, was marking one of West Ham’s main aerial threats. There was an inevitability, too, about Jarrod Bowen – a player nurtured by Silva at Hull City – sending Leno the wrong way from twelve yards once all the bickering had died down.

Until that point, David Moyes had prowled his technical affair tetchily. The Scot might have thought his side had overcome their early-season hiccups after Bowen got off the mark against Wolves last weekend. That confidence was bolstered by a continental win on Thursday that continued the Hammers’ 100% start in Europe, but they were badly off the pace in the first twenty minutes. Fulham made let of an injury crisis that had robbed them of their two senior right backs – forcing Bobby Decordova-Reid to deputise there – and the talismanic Aleksandar Mitrovic by taking the game to their hosts from the off.

Carlos Vinicius, on his first league start for the Whites, began the flowing move that saw them stun the Hammers’ hordes into silence just five minutes in. The Brazilian found Neeskens Kebano free on the left flank and Pereira, bursting onto the Congolese winger’s perceptive pass, surged into the area. The angle was against him, but the former Manchester United midfielder unleashed a venomous strike that flew through Lukasz Fabianski and into the far corner of the goal. It was a wonderful way to open his account for the Whites – and sparked wild celebrations in the away end.

West Ham were wobbling and were fortunate not to be dealt a knockout blow afterwards. Fabianski did manage to fist away a Pereira free-kick after Kebano was chopped down whilst breezing along the left wing, but the Polish veteran got nowhere near Dan James’ 20-yarder that clattered off the crossbar after the home defence had stood off the Welsh winger as he dribbled into space. Scamacca drew two splendid saves from Leno at the other end – the Arsenal goalkeeper brilliantly repelling a pair of headers from the Italian international, sandwiched between a drive that drifted off target following a fine ball from Paqueta.

Then came the penalty that allowed the hosts to breath a little more easily. Fulham still threatened before half time with Fabianski having to palm away a corner from Pereira that threatened to go straight in and clear-cut chances were at a premium after the interval. Leno got down well at his near post to prevent Paqueta from squeezing in a low shot right at the start of the second half, but the visitors looked lively on the break with James going close, before Paqueta scooped a superb ball over the Fulham back line for the major moment of controversy. Scamacca appeared to only be able to lob Leno ahead of Ream by using his hand and elbow, but the goal was allowed to stand.

Fulham came back with Vinicius volleying wide after good link-up play between Kebano and Antonee Robinson. Silva, booked by the referee for his protestations on the touchline, sent on Tom Cairney and then Harry Wilson in search of a late leveller. The skipper almost brought the Whites level immediately – hammering a clever Robinson cut back towards the far corner, where Aaron Creswell somehow managed to clear the danger. Five minutes of added time raised the spirits of the travelling fans, only for hopes of a comeback to be dashed by Antonio’s hand and his predatory finishing instincts after an almighty scramble in the area.

Fulham haven’t won at West Ham in the league for more than two decades. No defeat has felt as harsh as this one, though.

WEST HAM UNITED (4-2-3-1): Fabianski; Kehrer, Creswell, Dawson, Zouma; Soucek, Rice; Bowen, Fornals (Downes 90+3), Paqueta (Emerson 84); Scamacca (Antonio 86). Subs (not used): Areola, Johnson, Ogbonna, Coufal, Benrahma, Lanzini.

BOOKED: Kehrer.

GOALS: Bowen (pen 29), Scamacca (62), Antonio (90+1).

FULHAM (4-2-3-1): Leno; Decordova-Reid, A. Robinson, Adarabioyo, Ream; Palhinha, Reed (Cairney 71); James (Wilson 77), Kebano (Duffy 89), Pereira (Onomah 77); Vinicius. Subs (not used): Rodak, Mbabu, Diop, Harris, Godo.

BOOKED: Pereira, Reed, Vinicius.

GOAL: Pereira (5).

REFEREE: Chris Kavanagh (Greater Manchester).