Sam was born in Doncaster and began his senior career with Leeds United as a trainee in 2006. He was loaned out to Doncaster Rovers in February 2007, making five appearances, without scoring.
In the summer of 2007, he was released by United and joined Rovers permanently. Before he established himself with the south Yorkshire side, in February 2008, he was loaned out to Grimsby Town and made eighteen appearances for them without scoring. By the following season Sam was beginning to establish himself at the Keepmoat Stadium and he went on to make a further one hundred and fifty seven appearances for Rovers, scoring three times before being released in the summer of 2012.
He then joined Chesterfield and quickly established himself in the first team. He went on to make a total of two hundred and thirty seven appearances for them in all competitions, scoring a dozen times before being released in the summer of 2018.
He joined Alfreton Town in Vanarama North in October 2018 and after appearing four times for the reds, he joined Barrow in early January 2019 and made his debut as a substitute against FC Halifax Town at home.