McGowan opened the scoring after nine minutes when he charged forward and coolly slotted beyond Cammy Bell.
On the stroke of half-time Thompson doubled Saints’ advantage, when he blasted home from Nigel Hasselbaink’s cut-back.
Kilmarnock were handed a lifeline 10 minutes into the second half when Darren McGregor was adjudged to have handled Dean Shiels’ shot inside the area, Shiels stepped up to take the resulting kick but was denied by Craig Samson.
St Mirren began the game knowing their chances of claiming seventh place would be ended with a defeat.
They made a slow start to the match however, with Kilmarnock enjoying the bulk of the early possession.
Shiels screamed for a penalty after five minutes after his shot cannoned off Lee Mair, however referee John Beaton waved play on.
A minute later the St Mirren defence looked uncomfortable as Gary Harkins connected with Shiels’ corner.
The visitors took the lead after nine minutes with their first real chance of the match.
Thompson had to be brave to win the ball on the halfway line and McGowan charged forward before coolly slotting the ball beyond Bell.
A wonderful piece of goalkeeping by Samson ensured Saints retained their lead when he somehow stopped Shiels’ close-range effort after failing to hold Harkins’ fizzing drive.
Bell had to be alert to keep out Hasselbaink’s strike after good work by Jeroen Tesselaar on 16 minutes.
The Scotland international then produced an excellent stop from the Dutch striker two minutes later, as a lapse in concentration at the back almost proved to be costly for the hosts.
On the stroke of half-time Thompson doubled Saints’ advantage, when he blazed Hasselbaink’s cut-back beyond Bell.
After losing the second goal on the half-time whistle, Kilmarnock responded well at the beginning of the second half.
Mair almost turned Ben Gordon’s cross into his own net and from the resulting corner Dougie Imrie only just manage to scramble the ball clear.
Kenny McLean sent an effort inches wide on after combining well with Hasselbaink before the hosts were handed a lifeline when Beaton pointed to the spot after McGregor was adjudged to have handled Shiels’ shot.
The midfielder stepped up to take the resulting spot-kick but his poor effort was saved by the legs of Samson.
Dieter van Tornhout failed to profit from some hesitant St Mirren defending three minutes later and it seemed Killie’s hopes of a comeback were fading fast.
Kenny Shiels reacted by making a triple substitution with James Dayton, William Gros and Matthew Kennedy being introduced in place of Lewis Toshney. Danny Racchi and Van Tornhout.
James Fowler forced Samson into a low save from distance when he made a charge forward from defence.
With Kilmarnock throwing men forward, St Mirren looked to hit on the counter-attack and only a fingertip save by Bell prevented McGowan from adding his second on 63 minutes.
McGowan passed up a good opportunity to put the game beyond Kilmarnock’s lead when he weaved into the box but only managed a tame effort directly at Bell.
Gary Teale was brought on for McGowan after 84 minutes and the winger almost made an immediate impact.
He surged on to Tesselaar’s long ball but was denied by a last-ditch tackle by James Fowler.
The hosts continued to search for a way back but rarely threatened in the final minutes of the encounter, meaning St Mirren closed the gap on Kilmarnock to two points in the SPL table.