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.
23. Januar 2019
|England star Itoje pens new Saracens deal|
|Palace keeper Hennessey charged over Instagram post|
|Chelsea warn supporters over anti-Semitic chanting ahead of Tottenham EFL Cup tie|
|Joshua primed to make call on next opponent|
|Super Bowl LIII: Brady v Goff|
|Sala search suspended as Cardiff chairman confirms club wanted different travel arrangements|
|Cruyff, Koeman, Kluivert - De Jong following pantheon of Dutch Barca greats|
|Sarfraz apologises for comments picked up by stump mic|
|Djokovic: Pouille deserves top-10 spot|
|Hazard must be more demanding if he wants to leave Chelsea, says Ballack|
|Celtics´ Kyrie Irving to sit out Cavs game with flu-like symptoms|
|Barcelona seal €86m De Jong deal|
|Vietnam v Japan: Moriyasu happy to keep doing just enough|
|Hendricks, De Kock and Steyn join up with Proteas squad|
|Lorenzo excited for ´new level´ at Repsol Honda|
|Fernando replaces injured Pradeep in Sri Lanka squad|
|China v Iran: Queiroz wants to exorcise 2015 quarter-final|
|Balotelli joins Marseille until the end of the season|
|Emery gives Monchi ringing endorsement amid Arsenal sporting director links|
|Larry Fitzgerald returning to Cardinals on one-year deal|
|Watson absence ´an opportunity´ for Scotland hopefuls, says Townsend|
|Pochettino open to new signings but Janssen to remain a Spurs outcast|
|´No trace´ of aircraft so far in Sala search|
|Pochettino will not judge Sarri for criticising Chelsea players|
|From front row to four in a row - Best takes on Farrell at Connect 4|
|Hazard an individual, not a leader - Sarri urges Chelsea star to do more|
|Broad left out of England team for first Test|
|Higuain set to sign for Chelsea but won´t face Tottenham – Sarri|
|McGillvary injury blow for Giants|
|Solari praises Marcelo amid exit rumours|
|A-League Review: Joy and pain for De Jong as Sydney close gap|
|Halfpenny, Davies and Williams set to miss France clash|
|India to rest Kohli from back end of New Zealand tour|
|The hand is good - Farrell expects to be fit to face Ireland|
|Martinez leaves Arsenal for Reading loan|
|Beckham becomes Salford City shareholder|
|Maradona hopes Sala will be found alive|
|Djokovic will not discuss potential Nadal showdown yet|
|A Federer-Nadal double? Even historic scalps may not be enough for Tsitsipas|
|Raonic to assess knee injury, hopes to avoid surgery|
|Barcelona right to fine ´complicated´ Dembele, says Ter Stegen|
|Higuain and Piatek on the move on busy day for Milan|
|Philippe and Vince humble the Hurricanes|
|Nishikori: I couldn´t beat anybody on one leg|
|Boateng poised for debut as Barcelona axe Suarez|
|Shami sets record in crushing win after sun stops play|
|Sala search focused on possible use of life raft|
|Pouille exceeds own expectations with run to Aus Open semis|
|Nishikori retirement sees Djokovic through to semi-finals|
|A golden boy, a guy you want to love - Delecroix pays emotional tribute to Sala|
|Richardson, Patterson to make Australia debuts against Sri Lanka|
|Police resume search for missing Sala plane|
|Pouille upsets Raonic to reach Australian Open semis|
|Dunk sees Stars past Strikers|
|How Serena gave up 5-1 lead – the key moments of loss to Pliskova|
|Pliskova enjoys ´best comeback´ after stunning Serena|
|Serena not blaming ankle injury for Australian Open loss|
|Mavericks capitalise on Clippers´ turnovers, pick up win in Smith´s return|
|Pliskova saves four match points to stun Serena with comeback win|
|Anthony ´can only make´ a team better, says Iverson|
|Henry more worried about Monaco´s future than his own|
|Osaka powers past Svitolina in Melbourne|
|Harden on Anthony trade: It kind of sucks that it didn´t work out|
|Redskins remain ´optimistic´ QB Alex Smith will play again|
|Patriots coach Belichick says Rams´ Donald is ´pretty much unblockable´|
|PSG fined €100,000 by LFP over player-recruitment practices|
|I´m not his father - Guardiola demands Mendy matures|
|Sykes record in vain as Banvit claim victory|
22. Januar 2019
|Usain Bolt calls time on football career|
|Otamendi not happy at Man City, says Guardiola|