Martin Braithwaite, the former Middlesbrough striker, had stabbed the visitors into a 73rd-minute lead at the Aviva Stadium on a night when Ireland needed to win to progress automatically from Group D.
Doherty headed Mick McCarthy’s men level with five minutes remaining and, although they penned the Danes back deep inside their own half in a grandstand finish, they had to make do with a 1-1 draw when they may feel they deserved more.
The Republic now face the prospect of a one-legged semi-final and final in March if they are to take part in a tournament for which they are one of the hosts. Denmark, who have not lost a competitive game to the Irish since 1979, progress along with Switzerland.
It might have been different had former Barnsley man Conor Hourihane been able to find a more assured finish or had Alan Browne’s dipping volley crept inside, rather than just past the post before the break, but the sixth encounter between the sides in two years ended as four of the previous five had with honours even.
Denmark were the more fluent, but failed to create anything of note until Christian Eriksen’s goal-bound 26th-minute shot crashed into skipper Shane Duffy after Sheffield United’s John Egan and Andreas Cornelius had clashed heads.
Browne sent a dipping volley from David McGoldrick’s clever knock-down just wide.
Blades striker McGoldrick blasted just high and wide from distance with half-time looming and Ireland at last on the front foot. There will be minor concern for Sheffield United manager Chris Wilder because Egan failed to re-appear after the break.
Braithwaite stretched to get a toe to Henrik Dalsgaard’s ball into the box, turning it past keeper Darren Randolph.
Doherty powered an 85th-minute header from Stevens’ cross past the helpless Schmeichel to set up a breathless conclusion in which Ireland battered away, but could not find a priceless winner.