John Hughes’ team won thanks to Edward Ofere’s ninth-minute header – a goal which condemned Dundee to a fifth consecutive defeat.
The home side created the first chance after two minutes when Luka Tankulic picked up the ball 25 yards from goal and unleashed an ambitious effort which flew narrowly past Ryan Esson’s left-hand post.
And it was Inverness who were ahead minutes later when Greg Tansey sent over a cross and Ofere arrived to nod in from six yards out.
It was the Nigerian’s fifth league goal since signing for the Highlanders at the end of February as he continues to pay back Hughes for taking a chance on him.
Dundee, though, came close to equalising on 17 minutes. Paul McGinn’s cross was met by Greg Stewart’s glancing header which looked to be crossing the line but, just as the home fans were about to celebrate, Danny Devine got back to quell the danger with an acrobatic clearance.
Dundee kept pressing and Stewart was only denied by a decent save from Esson who pushed the ball around the post.
Ofere then turned provider as he whipped over a cross that found Marley Watkins at the back post but Dundee keeper Kyle Letheren snuffed out the danger with a brave stop at the feet of the winger.
James McPake headed wide and a long range effort from Thomson was hit straight into the keeper’s arms as Dundee went in search of an equaliser.
Within two minutes of the restart, the Dark Blues had a great chance to level.
Tankulic rolled a pass into the path of Jim McAlister but from 10 yards he shot straight at Esson with the goal at his mercy.
Dundee were up in arms with what they deemed a two-footed challenge from Josh Meekings on Paul McGowan on 60 minutes, but referee Don Robertson was up with play and waved on.
Then, on 79 minutes, they were denied an equaliser by a brilliant save from Esson.
Skipper Kevin Thomson surged into the box and crossed for James McPake whose header looked goalbound until Esson somehow got down to palm it away one-handed.