Martin Braithwaite 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 with Denmark, who have not lost a competitive game to the Irish since 1979, progressing along with Switzerland.
It might have been different had 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.
A high-octane start to the game saw both sides attempt to press high up the pitch with Ireland looking less comfortable than the visitors with possession deep inside their own territory.
However, the Danes were dealt an early blow when midfielder Thomas Delaney turned an ankle as he attempted to prevent Browne from breaking free down the right and he was eventually replaced by Pierre-Emile Hojbjerg, although only after his side had played with only 10 men for several minutes.
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 John Egan and Andreas Cornelius had clashed heads.
Cornelius' evening ended minutes later when he was replaced by Kasper Dolberg just as Ireland started to make an impression with Hourihane side-footing straight at keeper Kasper Schmeichel after intercepting a loose pass and Browne sending a dipping volley from David McGoldrick's clever knock-down just wide.
McGoldrick blasted just high and wide from distance with half-time looming with Ireland at last on the front foot.
Egan failed to re-appear after the break, prompting Ciaran Clark's introduction, and the newcomer, who has scored in his last two games for club Newcastle, saw a 49th-minute header deflected over by Yussuf Poulsen after Hourihane had picked him out from a corner.
The Aston Villa midfielder then drilled a wicked low cross into the danger area which Schmeichel could only parry as McCarthy's men sensed their chance.
James McClean was unable to pick out a team-mate with a series of left-wing crosses with Ireland building momentum, although, with Tottenham midfielder Eriksen belatedly beginning to orchestrate a Danish response, the contest remained on a knife-edge.
McGoldrick skied a 67th-minute attempt on the turn over the bar from Enda Stevens' cross, but, when the opening goal finally arrived, it did so at the other end, Braithwaite stretching to get a toe to Henrik Dalsgaard's ball into the box and 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 at the visitors, but they could not find a priceless winner.