Northern Ireland slipped to a late 3-1 defeat to the Netherlands, with Luuk de Jong and Memphis Depay scoring twice in the final three minutes.
For 90 minutes, it was a dogged defensive performance from the visitors at De Kuip and they looked to have completed a classic smash-and-grab when Josh Magennis headed home in the 75th minute after a rare attack.
But the Netherlands finally broke the Northern Ireland defences as Depay (75) slotted home five minutes later and the visitors appeared to switch off as the four minutes of added time were shown, as Luuk de Jong (90) and Depay again (90+3) added two late strikes to the tally.
It's elation for the Netherlands, who go top of Group C on goal difference - level on 12 points with Germany and Northern Ireland - with O'Neill's side slipping into third.
How Northern Ireland crumbled in Rotterdam
It was a very quiet first half in Rotterdam, with only one shot on target from either side. Northern Ireland marshalled a resurgent Netherlands side well, but the hosts gave a glimpse of what they could do in the 26th minute. Ryan Babel cut the ball back for Georginio Wijnaldum inside the box, but his shot was blocked by the body of Stuart Dallas. The loose ball fell to a waiting Daley Blind, but he could only send his effort wide of the post.
With a minute to play, the Netherlands probed again. It was another fine piece of attacking play from Blind, which caught the head of Wijnaldum sweetly, but it was ultimately an easy collection for Bailey Peacock-Farrell as the first half ended goalless.
Netherlands: Cillessen (5), de Ligt (6), Van Dijk (6), Blind (7), Dumfries (7), Wijnaldum (7), de Roon (6), F de Jong (7), Bergwijn (8), Babel (7), Depay (7).
Subs used: Van de Beek (6), Malen (7), L de Jong (7).
Northern Ireland: Peacock-Farrell (7), Smith (6), J. Evans (7), Cathcart (6), Ferguson (7), C. Evans (6), Davis (6), McNair (6), Saville (7), Dallas (7), Lafferty (5).
Subs used: Magennis (7), Thompson (n/a), Flanagan (n/a).
Man of the match: Steven Bergwijn.
Peacock-Farrell made a fine save in the 68th minute as Depay's chipped pass found Steven Bergwijn at the far post, but his volley went straight to the goalkeeper. Not long after, Bergwijn's cross was headed away by Jonny Evans, with Donyell Malen unable to connect onto the loose ball with a bicycle kick. It then fell to Wijnaldum, who struck again, but Jonny Evans was there to see the ball away.
Then came the opener from Northern Ireland on a rare attack. It was some poor defending from Blind that allowed Dallas onto the ball down the right, with his play putting the Ajax defender on his backside before getting his cross into the area. Matthijs de Ligt lost Magennis in the area and the Hull striker rose highest to power a header home.
- Kyle Lafferty started for Northern Ireland, having not scored in 16 games for his country. Shane Ferguson replaced the injured Jamal Lewis at left-back while Michael Smith returned at right-back.
- The Netherlands made three changes from their previous international - Denzel Dumfries, Marten De Roon and Steven Bergwijn came in for Joel Veltman, Davy Propper and Donyell Malen.
But five minutes later and the Netherlands found the net. Malen was played in down the left-hand side, before squaring the ball for Depay. He took a touch to take the ball around Craig Cathcart before slotting home and getting the hosts back on level terms.
The Netherlands did not give up on the winner as Northern Ireland crumbled in the four minutes of added time. It was Luuk de Jong who added the hosts' second inside the first minute, picking up a Bergwijn cross at the back post. His first touch was poor, sending the ball looping into the area, but with his second, he managed to hook it home right on the post with Northern Ireland's defence left in disarray.
Two minutes later, and the Netherlands rounded off the victory with Depay's second of the evening. Frenkie de Jong picked up a poor Northern Ireland pass before striding through the midfield and slipping the ball to Depay down the left of the area. He then slotted home on the angle, piling the misery onto the visiting contingent.
Analysis: Heartbreak for Northern Ireland
Sky Sports News reporter Paul Gilmour at De Kuip
"It was utter heartbreak for Northern Ireland. They were 15 minutes from one of the most famous results in their history. Once again, Michael O'Neill had a plan and for large periods in the game, these players yet again delivered it.
"Ronald Koeman wasn't a fan of the approach but he spoke afterwards of his respect for the visiting team. Northern Ireland were defensively disciplined, they did the basics of defending extremely well and made the Dutch work hard to break them down.
"It was very different to the attacking high press approach at home against Germany. It was a thankless task for an isolated Kyle Lafferty against Virgil van Dijk and Matthijs de Ligt but yet for 80 minutes, the team soaked up the pressure and did it well with Bailey Peacock-Farrell rarely tested. Jonny Evans, who praised O'Neill for his tactical flexibility, and Craig Cathcart led the way but the team naturally tired and once the Dutch equalised it felt like a second wasn't far away.
"Northern Ireland must now beat both of the heavyweights to stand any chance of automatic qualification. More realistic is a Nations League play-off but this team will fancy their chances.
"The Netherlands, meanwhile, are on the verge of their first tournament appearance since 2014. Luuk De Jong was the man who caused a deafening roar inside De Kuip Stadium with a wonderful piece of improvisation at the back post before Memphis Depay scored his fifth of the campaign."
Northern Ireland manager Michael O'Neill told Sky Sports: "We're devastated by the nature of the defeat. I thought we did everything we could to take the lead, and although we were disappointed to concede the equaliser I thought hopefully we can get out with a point. But the two goals in injury time were very cruel. It was a very harsh result for us.
"We have to win the [final] two games, it's as simple as that. The third goal was disappointing because it makes the head-to-head with Holland that much more difficult but the team can be very proud of themselves.
"We're playing against a team of world-class players and we've got players who are in League One, so we probably need a bit of perspective."
Man of the match - Steven Bergwijn
It was a sensational performance from the PSV Eindhoven winger. He was involved in almost everything the Netherlands did going forward - which was a lot - and was very unlucky not to come away with a goal or assist for his efforts.
However, he was one of the main reasons that the Netherlands dominated so well and despite having only eight caps, he will surely be a huge part of Ronald Koeman's side heading into Euro 2020.
- Northern Ireland have won just one of their seven encounters against Netherlands in all competitions (W1 D2 L4), losing each of the last three.
- Netherland's have won 17 consecutive home matches across all competitions at the De Kuip stadium, a run stretching back to November 2017.
- Since Ronald Koeman's first game in charge of the Netherlands in March 2018, Memphis Depay has been directly involved in 21 goals in just 17 appearances for his country (11 goals & 10 assists).
Next up for the Netherlands is a trip to Belarus on Sunday for another European Qualifier (kick-off 5pm), live on Sky Sports Premier League. For Northern Ireland, they will play the Czech Republic in an international friendly on Monday (kick-off 6pm), also live on Sky Sports Football.