Tottenham survived a late West Ham onslaught to emerge with a 3-2 win from a ding-dong derby.

Harry Kane scored twice in four first-half minutes and Spurs appeared to be cruising when Christian Eriksen added a third.

But Javier Hernandez pulled one back before Serge Aurier marked his full league debut with a needless red card.

Cheikhou Kouyate’s powering 87th-minute header then set up a thrilling finish at the London Stadium but Tottenham dug deep for all three points.

What they said

West Ham boss Slaven Bilic: “We are disappointed we lost the game. Until that first goal we were proper like last year when we beat them, it was a really good performance. Then we lose one ball, with enough players behind, and it was a brilliant finish. But it was a good fight from our side.”

Tottenham boss Mauricio Pochettino: “It was a very tough game and overall we deserved the win. If we analyse the game we were better. We played well, competing and fighting against a difficult team, in a derby. That game means more than three points.”

Tweet of the match

Star man – Harry Kane

Kane now has seven goals in six Premier League matches against West Ham and the striker proved the difference again here. He made a difficult header look easy for his first and was in the right place at the right time to finish off Dele Alli’s shot moments later.

View from the bench

Slaven Bilic

This threatened to be a painful afternoon for Slaven Bilic when West Ham trailed their rivals 3-0 after an hour but a rousing finish, aided by the erratic Aurier, may have spared the Croatian some particularly difficult questions about his job. Mauricio Pochettino might have his own grilling ready for Aurier, who could have cost his side an otherwise comfortable victory with his sending off. Aurier was dangerous going forward but defensively, he appears to have much to learn.

Data point

Christian Eriksen has overtaken Nicklas Bendtner to become the highest scoring Dane in Premier League history with 33 goals.

Player ratings

Fernando Llorente

West Ham: Joe Hart 6 (out of 10), Pablo Zabaleta 7, Angelo Ogbonna 6, Winston Reid 6, Jose Fonte 6, Aaron Cresswell 6, Cheikhou Kouyate 7, Mark Noble 7, Michail Antonio 5, Marko Arnautovic 7, Javier Hernandez 8. Substitutes: Andy Carroll (for Antonio, 28) 4, Andre Ayew (for Arnautovic, 66) 6, Arthur Masuaku (for Fonte, 74) 7.

Tottenham: Hugo Lloris 6, Serge Aurier 4, Toby Alderweireld 7, Davinson Sanchez 6, Jan Vertonghen 7, Ben Davies 5, Eric Dier 5, Moussa Sissoko 6, Christian Eriksen 8, Dele Alli 7, Harry Kane 8. Substitutes: Kieran Trippier (for Sissoko, 78) 5, Fernando Llorente (for Kane, 89) 5, Harry Winks (for Eriksen, 73) 6.

Who’s up next?

APOEL v Tottenham (Champions League, Sept 26)

West Ham v Swansea (Premier League, Sept 30)