The game was one of only two Scottish top-flight matches to go ahead but offered up little entertainment for the fans who braved the elements hoping for a positive result.
But, with the teams heading into the match level on 14 points in the relegation zone and determined to secure victory, Saints will be happy to have come out on top in a match where chances had been few and far between.
The home side were handed a boost with star man Andy Dorman making a surprise return to action.
He was expected to be still sidelined for the visit of Killie with the hamstring tear that had kept him out of action for several weeks but he was drafted straight back into the starting line-up.
Kilmarnock were without Simon Ford after he suffered an eye wound against Dundee United last week, while Kevin Kyle – who has been struggling with a virus – was named as a substitute. Conor Sammon made his first appearance since late November.
Saints edged the opening spell and had Kilmarnock under pressure when Jack Ross picked out Billy Mehmet with an inviting cross.
Mehmet’s header looked goalbound but a last-gasp intervention from James Fowler on the line prevented the home side taking the lead in the opening minutes.
The Buddies were threatening again when Mehmet won a free-kick a few yards in front of the corner flag and Dorman stepped up for the set-piece.
His initial effort was blocked but fell kindly for him to have another go and he was not too far away, rifling into the side-netting with the second attempt.
Mehmet then embarked on a run into the box before lashing a powerful shot just wide of Mark Brown’s right-hand post.
At the other end, Sammon saw his header flash across the face of goal and wide but the offside flag was raised anyway. He had another chance to open the scoring but, this time, his miskicked effort was held by Paul Gallacher.
With half-time approaching, the visitors could have snatched the opener on the counter-attack, with Jamie Hamill bearing down on goal after being released by Sammon only for his ferocious shot to be smothered by the keeper.
Kilmarnock looked more of a threat after the restart and squandered a decent chance when Danny Invincibile teed up a shot for Sammon only for the big striker to blast well over, doing little to trouble Gallacher in the Saints goal.
Invincibile then turned provider again, this time attempting to pick out Frazer Wright in the box but the defender just failed to connect with the header and the chance was lost for the Ayrshire club to break the deadlock.
Saints should have done better when David Barron slipped a lovely ball through for Mehmet in front of goal but he was just too slow in reacting and failed to connect, before Craig Dargo called Brown into action to block at the post.
Just when it looked as though the match was destined to end in a drab goalless draw, Saints grabbed the opener with eight minutes to go.
Innes had come off the bench to replace John Potter late in the first half and he proved to be the difference between the two sides.
Dorman delivered a decent corner into the packed goalmouth and it was Innes who rose above everyone else at the back post to direct a header into the back of the net and snatch the points.
Mehdi Taouil’s injury-time strike was hooked off the line but it was too little, too late from Kilmarnock.