Harry Kane and Tottenham will be left wondering how they squandered a three-goal lead in the last 10 minutes to draw 3-3 with a battling West Ham side.
The same seemed to be over in the first 17 minutes, Son scoring after a through ball from Kane and then the England forward netting two goals of his own to put Tottenham in an excellent position.
Tottenham 3-3 West Ham: Player Ratings
And after Kane had struck a post and Gareth Bale, coming on a substitute, had slithered an effort just wide, the Hammers fought back through a Fabian Balbuena and Davinson Sanchez own goal.
And then Manuel Lanzini produced a thunderbolt with virtually the last kick of the ball to stun Jose Mourinho's side.
Substitute in, Robert Snodgrass.
Substitute out, Arthur Masuaku.
Goal by Manuel Lanzini.
Yellow card for Manuel Lanzini.
Yellow card for Arthur Masuaku.
Own goal by Davinson Sánchez.
Assist given by Aaron Cresswell.
Goal by Fabián Balbuena.
Substitute in, Lucas Moura.
Substitute out, Son Heungmin.
Substitute in, Andrii Yarmolenko.
Substitute in, Manuel Lanzini.
Substitute out, Michail Antonio.
Substitute out, Pablo Fornals.
Yellow card for Tomáš Souček.
Substitute in, Harry Winks.
Substitute out, Tanguy Ndombèlé.
Yellow card for Angelo Ogbonna.
Substitute in, Gareth Bale.
Substitute out, Steven Bergwijn.
Yellow card for Michail Antonio.
Assist given by Sergio Reguilon.
Goal by Harry Kane.
Assist given by Son Heungmin.
Goal by Harry Kane.
Assist given by Harry Kane.
Goal by Son Heungmin.