Denmark 0 Republic of Ireland 0: O'Neill's men stand firm to set up second-leg showdown in Dublin
Denmark and the Republic of Ireland drew a blank in Copenhagen as the first leg of their World Cup play-off ended in a 0-0 stalemate.
Fittingly at the Parken Stadium, the visitors dropped deep and defended solidly to keep a third successive clean sheet that puts them in pole position to reach Russia ahead of the return meeting in Dublin.
The Danes struggled to break down their resolute opponents and even when they did occasionally get a sight of goal, Darren Randolph was on hand to keep them out.
The Middlesbrough goalkeeper made three key saves in the first half but was fortunate to see Pione Sisto shoot wide when well placed inside the penalty area.
Having won in Wales last time out to reach the next stage of the qualification process, Ireland can now secure a first World Cup appearance since 2002 on Tuesday.
Martin O'Neill made just one change from the side that triumphed 1-0 in Cardiff, a result that squeezed them past Wales to take second place behind Serbia in Group D.
With David Meyler suspended, Callum O'Dowda started on the right side of a midfield that, from the outset, was clearly drilled to deny Denmark any space inside their opponents' half.
The hosts attempted to combat the lack of room by going long, with a diagonal ball from halfway allowing Jens Stryger Larsen to get away a left-footed volley. Darren Randolph acrobatically turned the effort aside before Andreas Cornelius sent the rebound straight at the grounded goalkeeper.
While Cornelius at least hit the target with his attempt, Sisto was guilty of carelessly side-footing beyond the far post after Randolph's weak save from Christian Eriksen's drive ran perfectly into the Celta Vigo forward's path.
Ireland's only chance of note in the first half came from an unlikely source, Cyrus Christie failing to lift a lob over the advancing Kasper Schmeichel from a tight angle.
The full-back was needed in his own penalty after the break to block a shot from Stryger Larsen, Christie ducking down to take the well-struck drive flush on the top of his head.
Yet Denmark rarely came close to landing a telling blow in terms of the tie; Age Hareide sent on substitutes Yussuf Poulsen and Nicklas Bendtner, with the latter at least forcing Randolph to flick over his late header.
As the hosts ran out of ideas, Ireland's ambition levels were raised with every scoreless minute that ticked by.
Shane Long - who scored twice in a 4-0 win on Danish soil a decade ago - replaced the isolated Daryl Murphy as O'Neill looked to use the Southampton striker's pace against a tiring defence.
The change did not get O'Neill the away goal he craved, but Ireland at least held firm through to the final whistle.