Match ends, Northern Ireland 0, Netherlands 0.
Northern Ireland's slim hopes of qualifying automatically for the Euro 2020 finals ended as they drew 0-0 with the Netherlands in Belfast.
Captain Steven Davis blasted a first-half penalty over the bar in what may be manager Michael O'Neill's final home game in charge.
NI can still progress to next summer's tournament through the play-offs, for which O'Neill will remain at the helm.
The Dutch have reached the finals after earning the one point they needed.
- Reaction & as it happened
- Kroos fires Germany to Euro 2020 finals
- Who needs what in Euro 2020 qualifiers?
- Dutch penalty protests 'put off Davis' - O'Neill
Germany will also compete in next summer's finals as they moved top of Group C, two points ahead of the Dutch, with a 4-0 home win over Belarus, rendering Tuesday night's final fixtures between Germany and Northern Ireland and the Netherlands and Estonia meaningless in terms of qualification.
Northern Ireland's place in the play-offs was assured by virtue of Sweden's victory over Romania on Friday night, with an away tie against Bosnia the most likely scenario as it stands.
O'Neill's side faced the daunting task of having to beat the Dutch and the Germans by a cumulative total of at least four goals to finish in the top two, but they fell short in the first of those two challenges.
Stoke boss O'Neill shows positivity
The match was played against the backdrop of O'Neill having agreed to take over as manager of struggling Championship side Stoke City eight days ago, and the team and supporters were keen to mark what could potentially be the final home game of O'Neill's eight-year reign with a notable victory.
O'Neill will always be revered as the manager who took his country to their first-ever European Championships and a first major tournament finals for 30 years.
He could yet add to that legacy by securing a place at next year's tournament, although it remains unsure whether he would lead Northern Ireland to those finals should they make it through their play-off semi-final and final in four months' time.
Having seen his side suffer an agonising last-gasp defeat to the Dutch last month despite a spirited defensive display, O'Neill showed more positive intent by selecting an attacking line-up for this encounter.
Fit-again Jamal Lewis was restored to the side along with Cardiff city winger Gavin Whyte and Josh Magennis, who was rewarded for scoring three goals as a substitute during this campaign.
NI fail to make most of strong start
Northern Ireland came out of the blocks quickly, creating a series of good goalscoring chances in the early minutes as Paddy McNair and Whyte caused havoc on the right flank.
Goalkeeper Jasper Cillessen took too long to clear the ball and Corry Evans chased him down and blocked his clearance, but the ball did not land in time for the Blackburn midfielder to put the ball into the empty net.
Magennis glanced a header wide from one of a series of dangerous McNair crosses, while George Saville had a shot blocked.
The home side's best opportunity fell to skipper Davis, though, as he blasted his penalty over the bar just after the half-hour mark after Joel Veltman was adjudged to have handled as Saville had an effort on goal.
The Rangers midfielder was unable to add to his tally of 12 international goals on the night he became the UK's most capped midfielder, making his 116th appearance, surpassing the tally accumulated by David Beckham.
Koeman secures much-needed qualification
At the media conference the day before the game, Netherlands manager Ronald Koeman issued what was perceived as a partial apology for his post-match comments following the game in Rotterdam when he branded Northern Ireland's tactics "outrageous" and "terrible to watch", saying he did not mean to disrespect his opponents.
The former midfielder, who replaced Dick Advocaat at the helm in February 2018, has successfully led his team to next year's finals, however, which is a relief for Dutch fans after they missed out on qualification for the 2016 European Championships in France and the 2018 World Cup finals in Russia.
The Netherlands were without Lyon striker Memphis Depay, who has scored six goals in this campaign, and Liverpool midfielder Georginio Wijnaldum, who were both ruled out through injury.
After weathering the early Northern Ireland storm, Steven Berghuis hit the woodwork and Ryan Babel and Quincy Promes both sent curling shots just wide of the target.
The visitors dominated possession in the second half but failed to create clear-cut chances as the Northern Ireland defence, with Craig Cathcart and Jonny Evans impressive, held firm.
- 14DallasBooked at 84mins
- 3LewisSubstituted forThompsonat 81'minutes
- 13EvansSubstituted forMcGinnat 70'minutes
- 8DavisBooked at 40mins
- 6SavilleSubstituted forSmithat 58'minutes
- 2VeltmanBooked at 30mins
- 3de Ligt
- 4van Dijk
- 15de RoonBooked at 11minsSubstituted forPröpperat 36'minutes
- 21de Jong
- 10BerghuisSubstituted forde Jongat 65'minutes
- 20van de Beek
- 9BabelSubstituted forAkéat 90'minutes
- 12van Aanholt
- 19de Jong
- Szymon Marciniak
- Shots on Target
Second Half ends, Northern Ireland 0, Netherlands 0.
Foul by Matthijs de Ligt (Netherlands).
Josh Magennis (Northern Ireland) wins a free kick in the defensive half.
Offside, Northern Ireland. Patrick McNair tries a through ball, but Gavin Whyte is caught offside.
Substitution, Netherlands. Nathan Aké replaces Ryan Babel.
Corner, Northern Ireland. Conceded by Davy Pröpper.
Offside, Netherlands. Davy Pröpper tries a through ball, but Donny van de Beek is caught offside.
Attempt blocked. Davy Pröpper (Netherlands) right footed shot from outside the box is blocked.
Stuart Dallas (Northern Ireland) is shown the yellow card for a bad foul.
Quincy Promes (Netherlands) wins a free kick in the defensive half.
Foul by Stuart Dallas (Northern Ireland).
Davy Pröpper (Netherlands) wins a free kick in the defensive half.
Foul by Steven Davis (Northern Ireland).
Offside, Netherlands. Luuk de Jong tries a through ball, but Donny van de Beek is caught offside.
Substitution, Northern Ireland. Jordan Thompson replaces Jamal Lewis.
Attempt missed. Frenkie de Jong (Netherlands) right footed shot from outside the box is too high.
Joël Veltman (Netherlands) wins a free kick in the defensive half.
Foul by Niall McGinn (Northern Ireland).
Hand ball by Patrick McNair (Northern Ireland).