Netherlands scored twice in the final five minutes to snatch a 2-2 draw with Germany and secure a place in the Nations League Finals.
Ronald Koeman's men had seemed certain to finish second behind France in Group 1 of League A when Timo Werner's first international goal since June and Leroy Sane's second in as many outings had Germany coasting.
Needing only a point to advance, Quincy Promes offered a late lifeline to the outplayed visitors as he cut the deficit in half before makeshift striker Virgil van Dijk completed a remarkable turnaround in the 90th minute with a volley.
The final result was an extension of Germany's annus horribilis as Netherlands rescued a dramatic draw to advance to the final four.
Germany's chance to add a positive finish to a miserable 2018 began brightly as RB Leipzig striker Werner rifled Serge Gnabry's flick-on into the bottom-left corner in the ninth minute.
Toni Kroos helped create the opener and next provided the lofted pass from which Sane doubled the advantage, the Manchester City man regathering possession and beating Jasper Cillessen courtesy of a deflection off Kenny Tete.
Netherlands' hopes appeared to be fading when Ryan Babel limped off clutching his hamstring and his replacement, Javairo Dilrosun, lasted only 20 minutes of the second half before a similar issue curtailed his debut.
Werner had earlier dragged a promising opportunity past the far post, while substitute Marco Reus failed to tee up Sane for a tap-in amid a period Germany would come to rue.
Promes punished some poor defending in the 85th minute and captain Van Dijk then sucked the life out of substitute Thomas Muller's 100th international appearance for Die Mannschaft.
The defender's expert volley from Tonny Vilhena's cross miraculously sent Netherlands through at France's expense and condemned Joachim Low's side to a fifth competitive fixture without victory.
What does it mean? Winning mentality lacking for Germany
What seemed likely to be a lesson of the established order for Netherlands became a reminder of just how much Germany's identity has been lost in recent months.
Low can no longer rely on the heroes of 2010 and yet, for now, he must tread patiently in troubled waters as the emerging generation seeks to discover the competitive nous of the great teams that have preceded them.
Van Dijk the darling of Dutch football
It seems there is little Van Dijk cannot do at the moment as, even during a match in which his side had been breached twice, the defender managed to conjure a moment of inspiration when it mattered most.
Marco van Basten would have been proud of that volley.
Goretzka learns heavy lesson
All Leon Goretzka had to do was toe the ball away from harm on the edge of his penalty area and Germany would have been home and dry.
Instead, the Bayern Munich midfielder was carelessly robbed of possession and Promes was eventually able to curl in the goal that made the stunning late scenes possible.
Along with Switzerland, England and Portugal, Netherlands now have the Nations League Finals to look forward to next June. Low will fix his gaze on the Euro 2020 qualifying draw in December.
18 de diciembre 2018
|Messi ´never imagined´ his success after winning record fifth Golden Shoe|
|WATCH: Timberwolves´ Gibson tries to block shot with his trainer|
|Mourinho sacked: Klopp praises departed Manchester United boss|
|Mourinho sacked: Jose the best Manchester United manager since Ferguson - Gerrard|
|Mourinho sacked: Ferdinand calls for ´fresh ideas´ at Man United|
|Mourinho sacked: The mystique has gone as United spell ends in divorce|
|´He´s an interest not only for us but for many´ - Zola praises rumoured Chelsea target Wilson|
|Mourinho sacked: Pochettino focused on Spurs amid Manchester United rumours|
|Mendis eyes double-century for departing Samaraweera|
|Mourinho sacked: Zola expects Jose to be in another job ´soon´|
|Mourinho sacked: Five reasons it went wrong at Manchester United|
|Mourinho sacked: Jose´s Manchester United record in Opta stats|
|Mourinho sacked: Pogba, Ronaldo and Jose´s biggest bust-ups|
|Mourinho sacked: Blanc, Solskjaer - the men who could steady the United ship short-term|
|Mourinho sacked: The football world reacts|
|Mourinho sacked: What former United stars said after Liverpool loss|
|Mourinho sacked: Where next for the axed Manchester United boss?|
|UEFA to investigate alleged racist incidents at Vidi-Chelsea|
|Australia unchanged for rest of India series|
|Mourinho sacked: Pogba´s tweet a dig at departing Man United boss?|
|Newton left frustrated by shoulder injury as Panthers lose again|
|Mourinho sacked: Pochettino & Zidane lead potential Man Utd replacements|
|Mourinho sacked: Neville urges Man United to go for Pochettino|
|Boylen pleased to see Bulls react to red rag in Thunder fracas|
|Icardi and Inter ´very far´ apart in contract negotiations|
|Mourinho leaves Manchester United|
|Curry humbled by latest milestone|
|Robertson: ´Unbelievable´ Alisson will bounce back from error|
|Curry scores 15,000th regular-season point in Warriors win|
|Rams star Gurley ´day-to-day´ with knee inflammation|
|Saints poised to clinch NFC top seed after topping Panthers|
|Mathews, Mendis centuries frustrate New Zealand|
|Kohli: Relentless Australia deserved victory|
|Relief for Paine and Australia after ending Test drought|
|Australia level series with dominant win over India|
|Libertadores holders River learn group as CONMEBOL boss calls for end to violence|
|Chargers RB Gordon planning to return against Ravens|
|Kobe Bryant visit motivated Browns´ Jabrill Peppers|
|De Bruyne: Fatigue not behind injury woes|
|´That´s not my concern´ - Broncos coach Joseph on job security|
|Lowry on Leonard´s free agency: I just want him to be happy|
|Yankees give Sabathia $500K bonus despite ejection|
|Ronaldo confirmed Juventus interest in January – Mendes|
|Lakers guard Rondo to begin rehab stint in G League|
|Saiz to leave Leeds United for Getafe|
17 de diciembre 2018
|Whyte thinks Joshua rematch is ´only a matter of time´|
|Greenwood stars as Man United end Chelsea´s FA Youth Cup dominance|
|Panthers tight end Olsen expects ´full recovery´ after surgery|
|Derby County 0 Nottingham Forest 0: Lampard´s men fourth after tense stalemate|
|Clermont lose former All Black Toeava for six months|
|MLS unveils revamped playoff format for 2019 season|
|Ferrari to celebrate Schumacher´s 50th birthday with museum exhibition|
|Rabiot set for PSG exit after cancelling contract talks|
|Pepe departs financially troubled Besiktas|
|Philadelphia Flyers fire coach Dave Hakstol|
|Eagles to start Foles v Texans|
|PSG matches against Montpellier and Dijon rearranged|
|Martial agent clouds long-term future after United trigger extension|
|Zverev to make major final in 2019, predicts Ferrero|
|Canelo, Crawford, Lomachenko and the other pound-for-pound contenders|
|Barcelona boss Valverde admits to Lyon uncertainty|
|Club World Cup: Maverick Quintero gets another chance on the big stage|
|Henderson to miss majority of Ireland´s Six Nations campaign|
|Gentner to play on despite father´s death|
|Just good banter – Australia and India not concerned by Paine-Kohli exchange|
|Titans CB Logan Ryan out for season with broken leg|
|Suns send Trevor Ariza to Wizards for Kelly Oubre, Austin Rivers|
|Mourinho charge for ´improper´ language dismissed|
|Are the Knicks for sale? Depends on the offer, says Dolan|
|Klopp´s Liverpool are vulnerable – Neuer|