Netherlands scored four times in 32 second-half minutes to secure a remarkable comeback victory against hosts Germany in their Euro 2020 Group C qualifier.
Goals from Frenkie de Jong, a Jonathan Tah own goal, Donyell Malen and Georginio Wijnaldum wrapped up the win after Serge Gnabry had given the hosts an early lead and Toni Kroos had pulled them level at 2-2 with a controversial penalty.
The result leaves Germany on nine points from four games, three behind leaders Northern Ireland, who they face on Monday in Belfast. The Netherlands move to six points from three games and next face bottom side Estonia.
It was a winning return to Hamburg for Dutch coach Ronald Koeman, who won in the port city against the Germans as a player during Euro' 88, and a clear mark of his team's improvement after they failed to reach the last two major tournaments.
Joachim Loew's Germany side, undergoing their own overhaul after a disappointing 2018 World Cup first round exit and Nations League relegation, got off to a good start with Gnabry scoring on the rebound in the ninth minute.
There was little to be seen in terms of attacks from the Netherlands but that changed after the break.
They turned the game around within seven minutes, first scoring through De Jong in the 59th and then taking the lead courtesy of Tah's unfortunate own goal.
The Germans, missing several injured players, including Leroy Sane and Leon Goretzka, were struggling with the Dutch pace down the wings and were lucky to level with a 73rd minute Kroos penalty after Matthijs de Ligt accidentally handled.
But the visitors got revenge for their 3-2 loss in Amsterdam in March, striking through debutant Malen in the 79th after a quick combination left the German defence frozen.
Wijnaldum completed the victory in stoppage time and ended Germany's 14-match winning run in World Cup and Euro qualifiers.
Belarus earned a stoppage time 2-1 win at Estonia to claim their first points in the other game in the group on Friday.