Rep of Ireland 1 Denmark 1
If 2017 was humiliation, then this was just deflation. Another Danish party in Dublin, another tale of Irish regret.
Mick McCarthy's side flirted with hope by doing more than just keeping this game alive heading into the final quarter.
There were passages of play that suggested a Danish side which only needed a point was feeling the pressure.
But the optimism was extinguished in a heartbeat.
Granted, in the minutes before Martin Braithwaite delivered what proved to be the killer blow, there were signs that the game was opening up.
However, Denmark hadn't created a chance of substance before the otherwise excellent Matt Doherty snoozed as a terrific 73rd-minute ball from Henrik Dalsgaard left Darren Randolph rooted as Braithwaite nipped in to convert from close range.
The Republic recovered from the setback, with Doherty levelling with five minutes to go.
Shane Duffy was thrown up front in a desperate attempt to nab the winner in a grandstand finish. But a Danish side that never loses just about regrouped and the Republic are now condemned to the play-offs.
This display showed they can make life uncomfortable for good opposition when they are fully tuned in. But there's still a lack of attacking ingenuity that will have to be addressed for what's coming down the tracks.
McCarthy's side are certain to be on the road for the playoff semi, where they are likely to face the kind of atmosphere that they tried to create here.
The early signs were encouraging for the hosts.
McCarthy opted to solve his problem on the right side of midfield by selecting Alan Browne, a decision that gave them the option to be prepared for Denmark flooding the centre.
There was also a dual brief in terms of trying to nullify the threat of left-back Jens Stryger Larsen, a thorn in previous meetings.
Denmark didn't enjoy the opening minutes and the loss of Thomas Delaney to injury following a coming together with Browne further upset their plan.
But they gradually began to impose themselves on proceedings and, at the midway point of the half, the Republic were going through a spell where they were stuck deep and struggling to retain possession.
The crowd sensed it, with exuberance replaced by apprehension for a spell.
Age Hareide's side weren't firing attacking wise, however, and their best opportunity before the break came from a long ball forward that dropped for Christian Eriksen with his right-footed volley blocked by Duffy.
Full-backs Doherty and Enda Stevens were disciplined, while they were also involved in decent passages where the natives did bring the ball out from the back. Doherty showed why he is such an accomplished Premier League performer with his confidence on the ball.
The loss of Andreas Cornelius to injury was another setback for Hareide's Plan A and the Republic managed to finish the half strongly while only actually creating one chance of note.
David McGoldrick's overhit pass confused green and white shirts and Conor Hourihane burst onto it, but he was unable to wrap his left foot around the chance and Kasper Schmeichel collected.
Still, the Republic could be satisfied heading into the interval, although a blow to the head for Egan resulted in a half-time exit with Ciaran Clark drafted in.
He was on the offensive just after his introduction, twice threatening from dead ball situations. James McClean and Clark were close to a Hourihane delivery from a short corner. Doherty then instigated an advance into Danish territory that raised the volume levels even further.
The point that Denmark required was starting to look like the maximum they would take. Callum Robinson was sent in for Hourihane. The Braithwaite breakthrough was a painful blow to suffer.
The Republic were shellshocked temporarily, before they got that goal back through Doherty. They pushed on, but no winner was forthcoming.
REPUBLIC: Randolph, Doherty, Duffy, Egan (Clark 45), Stevens, Browne, Hendrick, Whelan (Maguire 82), Hourihane (Robinson 68), McClean, McGoldrick. Subs not used: O'Hara, Brady, Long, Travers, Byrne, Judge, Cullen, Parrott, Collins.
DENMARK: Schmeichel, Dalsgaard, M Jorgensen, Kjaer, Larsen, Schone (Christensen 84), Braithwaite, Eriksen, Delaney (Hojbjerg 13), Poulsen, Cornelius (Dolberg 33). Subs not used: Ankersen, Andersen, Knudsen, Skov, Gytkjaer, Norgaard, Hansen, Wass, Ronnow. Man of match: Braithwaite Match rating: 7/10
Referee: Dr. Felix Brych (Germany)