Northern Ireland's World Cup dream may have been dashed in controversial fashion after Switzerland claimed a 1-0 success in the first leg of their play-off at Windsor Park.
Referee Ovidiu Hategan awarded a penalty for a handball when Corry Evans was struck at point-blank range by Xherdan Shaqiri's volley as he turned his back.
Ricardo Rodriguez's successful conversion of the spot-kick proved to be the only goal of the night and leaves the Northern Irish with a mountain to climb in the return leg in Basel on Sunday.
Proceedings got under way at a raucous Windsor Park, where fans had been given green and silver flags, and every misplaced Swiss pass early on was cheered with relish.
The hosts had started brightly here in their key victories over Norway and Czech Republic and looked to do so again, with Stuart Dallas' strong break stopped by a rash Fabian Schar challenge that earned him a fifth-minute caution.
Switzerland soon settled, though, and Jonny Evans needed to make a brilliant block to deny Blerim Dzemaili before Xhaka curled a decent chance just over.
Evans needed tending to off the pitch due to a bloody nose picked up having made that block and arrived back in time to witness Xhaka fire off target from a similar range.
Set pieces, so often a source of goals for O'Neill's team, led to Lafferty blasting a deflected volley over and Evans heading off target from a corner.
Yet the Swiss looked comfortable and created the best opening of the first 20 minutes when Shaqiri's glorious pass found Haris Seferovic, whose volley on the stretch was clawed away by goalkeeper Michael McGovern.
O'Neill refrained from altering his team at the break and they were fortunate not to fall behind inside 30 seconds of the restart.
Brunt should have dealt with Rodriguez's deep cross but did not, with the ball coming out to Shaqiri, who shifted it on to his favoured left and bent an attempt narrowly over the top corner.
Dallas' evening was ended shortly after as was unable to shake off his injury problem so Jamie Ward, back for the first time since March, was brought on in his place. He had a job coping with the Swiss threat down the right, where Shaqiri ballooned over from range, but it was on the left where they nearly conjured up a opener.
Dzemaili's driven ball across the six-yard box was somehow not prodded in by Seferovic, though it did not take long for the visitors to take the lead in controversial fashion.
Referee Ovidiu Hategan pointed to the spot in the 58th minute when Shaqiri's volley crashed into the side of Corry Evans as he turned his back. With his arms tucked in, and the ball seeming to strike his torso, there was disbelief around Windsor Park when Hategan awarded a penalty that Rodriguez stroked into the corner for the all-important away goal.
To compound Corry Evans' misery he was booked, meaning he will miss the second leg on Sunday, with O'Neill replacing the Blackburn midfielder here for George Saville in the 65th minute.
The sense of injustice seemed to drive on the crowd, and the Northern Irish players, with Magennis heading Brunt's free-kick over before the West Brom defender then curled a direct set-piece off target himself.
Northern Ireland knew they needed to score and played with more attacking intent against a Switzerland side that could not capitalise on the break.
Washington was introduced for Lafferty with 12 minutes to go and a sense of urgency spread across the home side's ranks.
While they were failing to create openings, there were screams for a penalty in the final 10 minutes when Brunt's deep cross was reached by Magennis before hitting Rodriguez.
That one looked inconclusive too and on this occasion referee Hategan decided not to even things up.
Saville nearly created an opening with a mazy run into the box but there was to be no late equaliser as Northern Ireland were left to rue that penalty decision before the hour mark.