Match ends, Switzerland 0, Northern Ireland 0.
World Cup play-off: Switzerland 0-0 Northern Ireland (agg: 1-0)
Northern Ireland's hopes of making the World Cup finals for the first time since 1986 ended as Switzerland won their play-off 1-0 on aggregate after Sunday's stalemate in Basel.
The tie was decided by Ricardo Rodriguez's controversial penalty in Belfast as Michael O'Neill's team failed in their bid to reach back-to-back major tournaments for the first time.
Northern Ireland came within inches of forcing extra time in injury time at the end of the tie, only for West Brom defender Jonny Evans to see his header hacked off the line by Rodriguez.
Both sides wasted chances to score in a nervy contest at a rain-soaked St Jakob-Park, with Switzerland striker Haris Seferovic particularly guilty following a string of missed attempts.
O'Neill's team failed to register a shot on target at Windsor Park in the first leg, but this was a far more adventurous display and, after several near misses from Chris Brunt in the first half, they were almost rewarded late on - only for Evans to be denied.
The result secures Switzerland a place in Russia - their fourth consecutive World Cup - and means Northern Ireland's hopes of a fourth finals appearance are over.
- Run to play-off an amazing achievement - O'Neill
- Football Daily podcast: Has a golden era for Northern Ireland come to end?
A tie defined by a refereeing controversy
Northern Ireland's increased attacking intent in Basel came from their need to score to cancel out the Rodriguez penalty in the first leg, given for handball by Corry Evans when the ball clearly struck the midfielder on the back.
That decision angered O'Neill and his players and the manager asked them to channel that ill-feeling to ensure it was not a moment they lived to regret.
They did that with an energetic and determined performance.
But against a Swiss side who had only lost at St Jakob-Park to England in 17 matches spanning 16 years, they were always up against it and, in truth, might have been out of the tie much earlier had Seferovic been more composed in front of goal.
"We've gone out to a really poor decision in the first leg," said O'Neill. "We tried to keep the dream alive and we were pushing for it.
"The referee was very poor in the first leg - got the red card [decision not to send off Fabian Schar for a late tackle on Stuart Dallas] wrong and the penalty wrong. It's a very sore way to lose. We deserved extra time.
"There's a devastated group of players in there but I couldn't be more proud of them."
What now for O'Neill?
After a slow start to his Northern Ireland reign, O'Neill defied the odds to guide his side to the last 16 of Euro 2016.
The 48-year-old signed a four-year contract that same year but, following this latest setback, the team could suffer another blow as their manager has been heavily linked with other jobs.
He has been discussed as a contender for the vacant Scotland and Sunderland posts, and offers are likely to come his way with his stock so high.
It could also have been a final Northern Ireland bow for several players, including veteran defenders Aaron Hughes and Gareth McAuley.
Hughes made his 109th international appearance in Basel, making him the most-capped defender from the home nations.
"I said to the players that they've got decisions to make on their futures," said O'Neill. "But I've told them not to rush any decisions.
"They should discuss that with Aaron Hughes, who retired five years ago but was here tonight. This isn't the time to think about that."
Asked about his own future, O'Neill told Sky Sports: "I haven't given it any thought. I don't think it's a reasonable question."
Man of the match - Michael McGovern (Northern Ireland)
McGovern performed heroics in the Euro 2016 defeat by Germany and the Norwich keeper was again in top form to deny Switzerland.
He blocked Steven Zuber's fierce strike with his legs early in the game and finished by keeping out an angled drive from Breel Embolo.
The stats you need to know
- Switzerland have reached their fourth World Cup in a row. The finals in Russia next summer will be the first time they have featured in four straight tournaments since between 1934 and 1954.
- Despite finishing goalless, there were nine shots on target in this game compared with just two in the first leg in Belfast.
- Including the play-off games played so far, only Denmark's Christian Eriksen (38) has created more chances in this European qualifying campaign than Switzerland winger Xherdan Shaqiri (34).
- This was the first time Switzerland failed to win a competitive home game since September 2014, when they lost 0-2 against England.
What they said
Northern Ireland captain Steven Davis: 'There are a lot of emotions in the dressing room and everyone is gutted. We didn't let the decision in the first leg affect us and we gave it everything.
"No-one outside our country gave us a hope. We caused them a lot of problems and if we'd got the goal it would have been very difficult for them to recover mentally. Unfortunately it just wasn't meant to be."
Northern Ireland defender Jonny Evans: "We can be proud that we gave everything. We showed why we were in the play-offs.
"When it's so late in the game you're seeing five different balls coming across the box but their lad was in the right place at the right time to clear my effort off the line.
"Sometimes in football things like that penalty decision in the first leg can happen. We are experienced enough to know refereeing decisions can go against you and in the second leg we did ourselves proud."
- 23ShaqiriSubstituted forFreulerat 80'minutes
- 15DzemailiSubstituted forMehmediat 61'minutes
- 9SeferovicBooked at 72minsSubstituted forEmboloat 86'minutes
- 5EvansBooked at 78mins
- 11BruntBooked at 7mins
- 19WardSubstituted forJonesat 74'minutes
- 16NorwoodSubstituted forMagennisat 75'minutes
- 9WashingtonSubstituted forMcNairat 82'minutes
- Dr. Felix Brych
- Shots on Target
Second Half ends, Switzerland 0, Northern Ireland 0.
Attempt saved. Ricardo Rodríguez (Switzerland) left footed shot from outside the box is saved in the centre of the goal.
Breel Embolo (Switzerland) wins a free kick in the attacking half.
Foul by Jonny Evans (Northern Ireland).
Granit Xhaka (Switzerland) wins a free kick in the defensive half.
Foul by Steven Davis (Northern Ireland).
Attempt blocked. Jonny Evans (Northern Ireland) header from the centre of the box is blocked. Assisted by Chris Brunt with a cross.
Corner, Northern Ireland. Conceded by Steven Zuber.
Attempt blocked. Steven Davis (Northern Ireland) left footed shot from the left side of the box is blocked. Assisted by Jordan Jones.
Attempt missed. Breel Embolo (Switzerland) right footed shot from the centre of the box is high and wide to the right. Assisted by Granit Xhaka with a headed pass.
Corner, Switzerland. Conceded by Michael McGovern.
Attempt saved. Breel Embolo (Switzerland) right footed shot from a difficult angle on the left is saved in the bottom right corner. Assisted by Ricardo Rodríguez.
Breel Embolo (Switzerland) wins a free kick in the defensive half.
Foul by Jonny Evans (Northern Ireland).
Foul by Steven Zuber (Switzerland).
Jordan Jones (Northern Ireland) wins a free kick in the defensive half.
Remo Freuler (Switzerland) wins a free kick in the defensive half.
Foul by George Saville (Northern Ireland).
Substitution, Switzerland. Breel Embolo replaces Haris Seferovic.
Foul by Remo Freuler (Switzerland).
Stuart Dallas (Northern Ireland) wins a free kick in the defensive half.
Fabian Schär (Switzerland) wins a free kick in the defensive half.
Foul by Josh Magennis (Northern Ireland).
Attempt missed. Haris Seferovic (Switzerland) right footed shot from the centre of the box is too high. Assisted by Denis Zakaria.
Attempt missed. Jordan Jones (Northern Ireland) right footed shot from the left side of the box misses to the right. Assisted by Josh Magennis.
Substitution, Northern Ireland. Paddy McNair replaces Conor Washington.
Stephan Lichtsteiner (Switzerland) wins a free kick in the defensive half.
Foul by Jordan Jones (Northern Ireland).
Substitution, Switzerland. Remo Freuler replaces Xherdan Shaqiri.
Jonny Evans (Northern Ireland) is shown the yellow card for hand ball.
Hand ball by Jonny Evans (Northern Ireland).
Attempt missed. Haris Seferovic (Switzerland) right footed shot from a difficult angle on the right is close, but misses to the right. Assisted by Xherdan Shaqiri with a cross following a corner.
Corner, Switzerland. Conceded by Gareth McAuley.
Attempt blocked. Steven Zuber (Switzerland) right footed shot from the right side of the box is blocked. Assisted by Fabian Schär.
Xherdan Shaqiri (Switzerland) wins a free kick in the defensive half.
Foul by Josh Magennis (Northern Ireland).
Substitution, Northern Ireland. Josh Magennis replaces Oliver Norwood.
Substitution, Northern Ireland. Jordan Jones replaces Jamie Ward.
Haris Seferovic (Switzerland) is shown the yellow card.