The striker opened the scoring in stoppage-time before the break, sliding the ball low into the net from close range following Stuart Duff's free-kick.
He then doubled his and his team's tally five minutes after the break by lashing home a cross from Jonny Hayes.
Paul McGowan scored an impressive consolation for hosts St Mirren, but they were unable to find an equaliser as the Highlanders extended their season record of collecting all their points in this season's Scottish Premier League away from home.
Inverness captain Richie Foran made his first SPL start of the season as visiting manager Terry Butcher made five changes to the team beaten 6-0 at Celtic in the midweek Co-operative Insurance Cup tie.
Ryan Esson returned in goal and forwards Adam Rooney and Odhiambo were also back, along with defender Stuart Duff in place of the benched Jonny Tuffey, Nick Ross and Shane Sutherland, injured Lee Cox and Stuart Golabek.
St Mirren boss Danny Lennon made just one change to the team they fielded at St Johnstone last weekend, Paul McGowan returning from suspension and starting in place of Steven Robb, who was out of the squad entirely.
St Mirren started positively and earned an early free-kick which was curled in by Nick Hegarty, but it went wide of the left-hand post without troubling Esson.
Inverness won three corners in quick succession after 10 minutes, starting when Foran's long ball from Odhiambo's pass was headed away before it could reach Rooney.
Home goalkeeper Paul Gallacher easily punched away all three corners in a busy penalty box, even though he found himself booked for kicking the ball away after disagreeing with the final award.
Inverness were forced into a change after just 16 minutes when Ross had to come on in place of David Proctor, who had needed treatment after an earlier challenge.
The substitute went close to scoring after 20 minutes with a raking diagonal drive from the edge of the box which only narrowly went wide of the left-hand post.
David van Zanten looked set to put St Mirren in front just after the midway point of the first half with a shot from the centre of the area, but visiting goalkeeper Esson stretched to divert it round his left-hand post.
The hosts also had to make a first-half change when Hegarty limped off to be replaced by debutant Paul McQuade.
McQuade almost made an instant impact on the half-hour when he pounced on Esson's under-pressure clearance and worked his way inside from the left before unleashing a shot which the goalkeeper beat away from the top-left corner.
Lee Mair then angled a powerful header from the right all the way across goal the face of goal and just wide following John Potter's long free-kick from the halfway line 10 minutes from the break.
Wardlaw set up a good passing sequence with Van Zanten and Hugh Murray just before the break, but was unable to slide in on time to meet the latter's cross from the right.
Inverness took the lead when Odhiambo rolled the ball into the bottom-right corner after playing a one-two with Ross following Duff's free-kick.
It took just five minutes of the second half for Odhiambo to net again.
Hayes stole possession from the feet of McQuade on the halfway line and ran down the right before passing for Odhiambo to lash home confidently from just outside the six-yard box.
Hayes went close to a third six minutes later, grazing the far post with a header from the right side of the box.
Paul McGowan set up a grandstand finish, though, when he reduced the deficit 14 minutes from time, lifting a lovely effort from outside the box high into the net following Van Zanten's free-kick.
St Mirren piled on the pressure around the Inverness goal for the rest of the match but were unable to break through to salvage a point.
Jure Travner sent a cross from the left right across goal in stoppage-time but Gareth Wardlaw was unable to turn it home.