Dundee started with the same team which played Inverness CT on Tuesday night. They started the game well moving the ball about. But they failed to test Craig Gordon with Hearts coming more into the game.
The home side took the lead 10 minutes from half-time when Halliday headed home from six yards after a good move. On the stroke of half-time McGowan nearly levelled the game when his dipping shot hit the underside of the bar. McMullen headed the rebound over the bar when he might have scored.
Second half and both teams had chances, Boyce hit the bar from 12 yards, Dundee went up the park and Anderson was unlucky with his shot.
But Hearts made it 2-0 on 58 minutes when Gnanduillet shot first time, Hamilton saved well, but the rebound struck the striker on the shin and looped into the net.
Five minutes later and Dundee scored via the penalty spot after a foul on Anderson in the box. Jason Cummings scored with a powerful drive to give Dundee hope of a draw.
They were playing well and Sow missed a header, Cummings went close with a header with Gordon having to save.
Hearts went down to 10 men when Haring was sent off after doing a high tackle on McDaid. Time ran out for the Dee..It's been the story of our season go behind and then having to chase the game...They seem to play better.
Dundee: Hamilton, Elliott, Ashcroft, Fontaine, Marshall, McGowan (c), Anderson (Afolabi 77)
McMullan, Mullen (Sow 58), McDaid, Cummings Unused Subs: Legzdins , Kerr, Fagan-Walcott, Byrne, Robertson.
Referee: Don Robertson