The winger helped the Perth club claim the League and Scottish Cup double last year and has prolonged his third spell at McDiarmid Park.
St Mirren were keen on taking the 30-year-old to Paisley, but Callum Davidson has retained his forward for the European campaign.
He said: "I'm delighted to have my future sorted. I was out of contract at the end of the season and had other options to consider. But my focus was very much on trying to come to an agreement with St Johnstone.
"We have just completed the most successful season in the club's history and I'm very proud to have played my part. I wanted to be here for the next stage.
"We are going into European football and have really exciting times ahead.”
O’Halloran has had two permanent stays in Perth and also moved to the club on loan from Rangers before a stint in Australia.