Caley Thistle fell behind in the third minute before hitting back to claim a 2-1 lead by half-time, but Sean Kelly's strike just after the hour mark earned a battling point for the Buddies.
Visiting boss Danny Lennon was celebrating early when Jason Naismith's drive across goal found the back of the net despite the efforts of David Raven to block on the line.
The home side responded in positive style as academy product Liam Polworth whipped in a great cross for Josh Meekings, whose header was tipped over by Chris Dilo.
But Inverness restored parity in the 16th minute when Darren McGregor under pressure from Ross Draper headed the ball into his own net.
Billy McKay then found himself one on one with Dilo only to get an unlucky bobble off the pitch as he took his shot, before Dilo kept out a dipping free-kick from Polworth.
McKay did find the net with a delicate lob over the keeper only to see the linesman's flag raised, but Caley Thistle soon went ahead on 34 minutes.
Another dangerous cross from the lively Polworth was nodded down by McKay into the path of Greg Tansey, who drilled an unstoppable finish past Dilo.
St Mirren almost went into the break back on level terms, but Raven and Gary Warren combined to keep out Steven Thompson's goalbound effort.
But the home side were counting the cost of poor defending on 62 minutes as they failed to clear their lines after Thompson's shot was blocked by Warren, and Sean Kelly bundled in at the far post.
Inverness were then reduced to 10 men five minutes later, when Meekings hauled down Magennis with the St Mirren player through on goal and Willie Collum brandished a straight red card.
Despite being a man down, Inverness almost regained the initiative, but Ross could not quite turn home a Polworth shot after good work by substitute Marley Watkins.
Raven then cleared off the line from McLean, and Magennis rifled wide from the edge of the box in added time.