The much-travelled 32-year-old returns to the Championship club after a previous spell from 2005 to 2007.
Sutton moved onto Wycombe and had two spells at Motherwell either side of two years at Hearts, but his season at St Johnstone brought only one goal.
Saints manager Alex Rae said: "He's a tremendous addition - he brings experience and a goal scoring threat."
St Mirren have signed striker John Sutton on a two-year deal after he was transfer-listed by St Johnstone.