
Serge Gnabry had given Germany an early lead but Frenkie de Jong and Jonathan Tah’s own goal turned the game.
Germany looked to have claimed a draw via Toni Kroos’ penalty, given for a dubious handball against De Jong.
But debutant substitute Donyell Malen finished a superb move before Georginio Wijnaldum sealed the win in added time.
The Netherlands’ victory – their first in Germany since 2002 – means Joachim Low’s side miss out on top spot in the group, which still belongs to Northern Ireland courtesy of their four wins out of four games so far.
The Dutch are now three points behind the second-placed Germans with a game in hand.
With Northern Ireland going so well and having lost 3-2 at home to Germany in March, Ronald Koeman’s side could not afford another slip-up, which looked on the cards after Gnabry followed up Lukas Klostermann’s saved shot to score his fifth international goal in six games.
But they were more efficient after the break, with De Jong’s neat finish and Tah’s clumsy poked own goal from close range rewarding their efforts.
Even the game’s most controversial moment – the penalty converted by Germany after the ball had looped onto De Jong’s arm following a blocked cross – could not break them from their stride.
Wijnaldum provided the ball for the Malen to put the visitors ahead again and then charged through to finish himself.
With two games against Northern Ireland to come, the Dutch are now firmly back in the running for top spot.
Belarus earned a stoppage time 2-1 win at Estonia to claim their first points in the other game in Group C on Friday.
Line-upsMatch StatsLive TextLine-upsGermany1Neuer4GinterSubstituted forBrandtat 84’minutes15Süle5Tah13Klostermann6KimmichBooked at 35mins8Kroos14Schulz9WernerSubstituted forHavertzat 61’minutes11ReusSubstituted forGündoganat 61’minutes20GnabrySubstitutes3Hector7Havertz10Brandt12Leno16Halstenberg17Stark19Waldschmidt21Gündogan22ter Stegen23CanNetherlands1Cillessen3de Ligt4van Dijk17Blind21de JongBooked at 72mins22DumfriesSubstituted forPröpperat 58’minutes15de RoonBooked at 49minsSubstituted forMalenat 58’minutes8Wijnaldum11Promes9BabelSubstituted forAkéat 81’minutes10DepayBooked at 35minsSubstitutes2Veltman5Aké6Pröpper7Malen12van Aanholt13Zoet14Berghuis16Strootman18Vilhena19de Jong20Kluivert23VermeerReferee:Artur Manuel Soares DiasAttendance:51,299Match StatsHome TeamGermanyAway TeamNetherlandsPossessionHome49%Away51%ShotsHome12Away16Shots on TargetHome5Away9CornersHome2Away4FoulsHome7Away10Live TextPosted at
Match ends, Germany 2, Netherlands 4.
Full TimePosted at 90’+5′
Second Half ends, Germany 2, Netherlands 4.
Posted at 90’+3′
Serge Gnabry (Germany) hits the right post with a right footed shot from the centre of the box. Assisted by Joshua Kimmich with a through ball.
Posted at 90’+3′
Attempt blocked. Ilkay Gündogan (Germany) right footed shot from the right side of the box is blocked. Assisted by Lukas Klostermann.
Goal!Posted at 90’+1′
Goal! Germany 2, Netherlands 4. Georginio Wijnaldum (Netherlands) right footed shot from the centre of the box to the centre of the goal. Assisted by Memphis Depay following a fast break.
SubstitutionPosted at 84′
Substitution, Germany. Julian Brandt replaces Matthias Ginter.
Posted at 82′
Daley Blind (Netherlands) wins a free kick in the defensive half.
Posted at 82′
Foul by Serge Gnabry (Germany).
SubstitutionPosted at 81′
Substitution, Netherlands. Nathan Aké replaces Ryan Babel.
Posted at 81′
Foul by Georginio Wijnaldum (Netherlands).
Posted at 81′
Joshua Kimmich (Germany) wins a free kick in the defensive half.
Goal!Posted at 79′
Goal! Germany 2, Netherlands 3. Donyell Malen (Netherlands) right footed shot from the centre of the box to the high centre of the goal. Assisted by Georginio Wijnaldum.
Posted at 79′
Foul by Frenkie de Jong (Netherlands).
Posted at 79′
Joshua Kimmich (Germany) wins a free kick in the defensive half.
Posted at 78′
Attempt missed. Ryan Babel (Netherlands) right footed shot from the left side of the box misses to the right. Assisted by Daley Blind.
Posted at 78′
Attempt blocked. Georginio Wijnaldum (Netherlands) right footed shot from outside the box is blocked. Assisted by Frenkie de Jong.
Posted at 74′
Attempt saved. Donyell Malen (Netherlands) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Memphis Depay.
Goal!Posted at 73′
Goal! Germany 2, Netherlands 2. Toni Kroos (Germany) converts the penalty with a right footed shot to the bottom left corner.
BookingPosted at 72′
Frenkie de Jong (Netherlands) is shown the yellow card.
Posted at 71′
Penalty conceded by Matthijs de Ligt (Netherlands) with a hand ball in the penalty area.
Goal!Posted at 66′
Own Goal by Jonathan Tah, Germany. Germany 1, Netherlands 2.
Posted at 66′
Attempt saved. Virgil van Dijk (Netherlands) header from the centre of the box is saved in the centre of the goal. Assisted by Daley Blind with a cross.
Posted at 65′
Corner, Netherlands. Conceded by Toni Kroos.
Posted at 64′
Foul by Donyell Malen (Netherlands).
Posted at 64′
Matthias Ginter (Germany) wins a free kick in the defensive half.
SubstitutionPosted at 61′
Substitution, Germany. Ilkay Gündogan replaces Marco Reus.
SubstitutionPosted at 61′
Substitution, Germany. Kai Havertz replaces Timo Werner.
Goal!Posted at 59′
Goal! Germany 1, Netherlands 1. Frenkie de Jong (Netherlands) right footed shot from the centre of the box to the bottom left corner. Assisted by Ryan Babel with a cross.
SubstitutionPosted at 58′
Substitution, Netherlands. Davy Pröpper replaces Denzel Dumfries.
SubstitutionPosted at 58′
Substitution, Netherlands. Donyell Malen replaces Marten de Roon.
Posted at 56′
Attempt saved. Georginio Wijnaldum (Netherlands) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by Memphis Depay.
Posted at 54′
Attempt missed. Matthias Ginter (Germany) header from the centre of the box is close, but misses to the left. Assisted by Toni Kroos with a cross following a corner.
Posted at 53′
Corner, Germany. Conceded by Virgil van Dijk.
Posted at 53′
Attempt missed. Nico Schulz (Germany) left footed shot from the left side of the box misses to the right. Assisted by Toni Kroos.
Posted at 51′
Attempt saved. Quincy Promes (Netherlands) right footed shot from outside the box is saved in the centre of the goal. Assisted by Frenkie de Jong.
Posted at 50′
Corner, Germany. Conceded by Matthijs de Ligt.
Posted at 50′
Attempt missed. Serge Gnabry (Germany) right footed shot from the right side of the box misses to the left. Assisted by Lukas Klostermann.
BookingPosted at 49′
Marten de Roon (Netherlands) is shown the yellow card for a bad foul.
Posted at 49′
Foul by Marten de Roon (Netherlands).
Posted at 49′
Toni Kroos (Germany) wins a free kick in the defensive half.