Forward Jamie Walker scored from the spot in the third minute and defender Callum Paterson made it 2-0 three minutes after the restart which seemed to put the Gorgie side in complete control.
However, Dundee captain Darren O’Dea quickly reduced the deficit in the Ladbrokes Premiership encounter with a drive before second-half substitute Paul McGowan levelled in the 71st minute with a close-range finish.
And, in the third minute of added time a remarkable comeback was complete when striker Marcus Haber headed in a Tom Hateley free-kick.
Following a defeat at Rangers and a draw at home to Partick Thistle since he replaced Robbie Neilson, Cathro will be particularly annoyed after his side managed to surrender a comfortable lead against a side who were booed off by their fans at the interval, only to be cheered off at the end.
Hearts got off to the perfect start after Walker took a Bjorn Johnsen pass before being grounded by Kevin Gomis with referee Kevin Clancy no doubt as to the punishment.
The Gorgie attacker picked himself up and sent Dundee keeper Scott Bain the wrong way with the penalty, taking his tally to eight for the season.
The goal triggered an all-out assault on the Dundee goal as Krystian Nowak, the 22-year-old Polish defender making his debut in midfield after being signed in the summer, sent a drive just wide of the target before Bain saved Walker’s low drive which threatened to sneak in at his near post.
The home side came into the game with efforts from Craig Wighton and James Vincent which missed the target but Hearts posed further problems when going forward.
In the 34th minute Bain did well to save Paterson’s powerful header from a Don Cowie corner, before Walker failed to control a pass from Arnaud Djoum when he had only the Dens Park number one to get past at the edge of the box.
Dundee found themselves in more trouble three minutes after the restart when Paterson got on the end of Cowie’s free-kick at the back post and headed in.
It looked like the Taysiders were down and out but in the 54th minute, after Hearts had failed to clear their lines, O’Dea drove in from 16 yards.
Hearts suffered another blow when Cowie was carried from the field on a stretcher clashing with Bain and O’Dea inside the box, the referee ignoring claims for a penalty.
Robbie Muirhead replaced Cowie before McGowan, on for Mark O’Hara in the 53rd minute, poked in the equaliser from 10 yards after being set up by midfielder James Vincent, thus setting up an exciting finale.
And, in the nine added minutes for Cowie’s injury, Haber bulleted in Hateley’s free-kick to keep the points at Dens Park and provide Cathro with more problems.