The 35-year-old previously played for Saints between 2002 and 2007 and joins Jim Goodwin's team on a two-year deal. A Scotland internationalist, Broadfoot has also played for Rangers, Blackpool and Rotherham United.
He told the club website: “I wanted to come back here and I’ll probably finish my career here. Hopefully, I can get the good relationship back that I had with the fans before I left. One thing they’ll know is that I give 100% every week and that hasn’t changed over the years.”