O’Halloran struck inside seven minutes at St Mirren Park and, despite creating a handful of decent chances, the Buddies were unable to respond and remain in trouble one off the bottom of the Scottish Premiership table.
Tommy Craig’s men have only eight points and only Ross County are keeping them off the foot of the table on goal difference.
St Johnstone made a quick start, with Simon Lappin going close before they took the lead when O’Halloran ran on to a through ball and curled a shot past Mark Ridgers with the aid of a slight deflection.
Alan Mannus was equal to a Kenny McLean effort as the home side tried to respond quickly, and he also kept out a decent effort from Adam Drury midway through the opening 45 minutes.
O’Halloran headed over as he sought a second for the visitors, but the game became increasingly scrappy with McLean and David Mackay booked before a couple of wasted St Mirren chances to finish the half.
The lively McLean was guilty of both, seeing a tame effort easily saved by Mannus before firing wide of goal when he really could have done much better.
James McFadden headed a decent chance straight at Ridgers to open the second period and the visitors went close to a second 10 minutes in when Brian Graham’s drive bounced back off the post.
Ridgers almost made a mess of dealing with an angled shot from McFadden and the former Scotland international curled another effort wide after a superb run into the box.
St Mirren rallied and almost got back level on three occasions just after the hour – Mannus saved a McLean free-kick, blocked a Jack Baird header and then produced a sensational save to keep out substitute Callum Ball’s header.
Steven Anderson could have put the game beyond St Mirren but he mis-hit his shot and Ridgers was able to drop on the ball and Mannus made a decent save from sub Sean Kelly to keep St Johnstone in front as the game entered the final 10 minutes.
But the home side were unable to create many chances in the closing stages as St Johnstone secured their fourth away win of the season, one more than they have managed at McDiarmid Park, and extended their unbeaten run to five games.