Dundee started brightly and Bobby Mann headed just over from Paul Dixon's long throw with only eight minutes played. A minute later Dundee were dealt a blow when keeper Ludovic Roy was replaced by Scott Murray. Roy had fallen awkwardly when he went to gather an early Thistle corner.
Simon Donnelly set up Mark Roberts, 15 yards from goal but the midfielder's shot went high and wide. Donnelly then crossed low to Darren Brady who from eight yards should have scored but shot weakly and Murray saved on 25 minutes.
Two minutes later the visitors took a deserved lead when Roberts stroked the ball home from six yards in a crowded area after Graham Gibson's cross. Scott Gates saw his curling 18-yard effort go inches past the post as Dundee tried to hit-back before the interval.
Dundee started the second half without captain Mann who was injured just before half-time, Calum McDonald came on in his place.
Gary MacKenzie saw his header saved before Kevin McDonald saw his shot blocked as Dundee started the second half in search of the equaliser.
Midway through the second half Donnelly fired wide of an open goal from five yards out, while under pressure following a cut-back by Gibson.
Bryan Deasley was unlucky not to grab the equaliser with 15 minutes remaining but his close range shot from MacKenzie's flick was booted off the line by Scott McCulloch.
Moments later Gavin Swankie's lofted the ball over and Kenny Arthur, from 15 yards hit his shot just the wrong side of the post. MacKenzie and Kevin McDonald both had chances to equalise but as throughout the game failed to hit the target and Thistle collected all three points.