Saints manager Danny Lennon has long been keen on signing the Scotland international, who has penned a two-year contract following his release by Burnley.
The Paisley-born forward, 32, told the club's official website, www.saintmirren.org: "It has been a lifelong ambition of mine to play for St Mirren as they were my first love in football.
"It will be a brilliant moment for me when I pull on a Saints jersey for the first time and I'm really looking forward to it."
The former Dundee United player left Ibrox for Cardiff in 2006 and was eager to return to Scotland, and St Mirren Park in particular. "My wife and I decided that, when our daughter was going to start school, that we wanted to come back home for that. I can't wait to get started."