Dundee made three changes to the team when Ryan Astley came into the defence at right back, Antonio Portales into central midfield, and Seb Palmer-Houlden into the attack. They replaced the injured Jordan McGhee and Seun Adewumi, and Mo Sylla, who was on the bench.
The first 15 minutes went quickly with both teams having the ball but no clear chances were made. Dundee's first chance came when Astley won the ball in midfield and came forward one a good run but his shot was deflected over the bar after being blocked.
Carson then was forced into a good save as Hearts had a good move. Dundee then broke and a superb run and from Josh Mulligan was headed wide by Seb Palmer-Holden.
A minute later the Dee had a massive escape when Devlin’s shot took a deflection and struck the post. Grant was first to the rebound but Carson managed to smother the shot on the goal line.
Dundee took the lead in their next attack. Scott Tiffoney crossed from the left and Palmer-Houlden made a nuisance of himself to stop the defence clearing the high ball. Simon Murray took full advantage to score with a low shot from 10 yards.
Hearts made two changes at half-time but it made little difference as Dundee continuted to work hard and defende well to control the game, Carson had a couple of routine saves as Hearts were struggling to get on the score sheet.
Fin Robertson came on for Seb Palmer-Houlden just after the hour, playing on the right but in a deeper position.
After 79 minute Ziyad Larkeche, after a fine display, limped off and was replaced by Imari Samuels. At the end of normal time Scott Fraser and Ethan Ingram came on for Ryan Astley and Antonio Portales who looked like they were suffering from cramp.
Trevor Carson made a vital block when a certain goal looked on as Hearts pushed forward.
The last tens minutes went slowly and in the 6 minutes of injury time Dundee got away with the right Var decisions when a penalty claim was ruled as a no. And they had the ball into the net but Craig Gordon had fouled Trevor Carson.
But the whistle went to the delight of the Dundee fans who will enjoy this victory. The fully deserved the three points after a great performance.
Dundee: Carson, Astley (Ingram 89), Shaughnessy (c), Clark Robertson, Larkeche (Samuels 79), Mulligan, Portales (Fraser 89), Cameron, Palmer-Houlden (Fin Robertson 62), Murray, Tiffoney. Unused Subs: McCracken (gk), Reilly, Koumetio, Sylla, Donnelly.
Referee: Ross Hardie.
Att: 18,085