Elam was born in Bradford, West Yorkshire and began his footballing career in 1998 with Conference National side Southport. During his four years with the team, he played in 104 first team games in which he scored 15 goals.
After leaving Southport at the end of the 2001–02 season, Elam joined fellow Conference side Morecambe. During the 2002–03 season Elam made 40 appearances for the Shrimps, scoring 13 goals.
After only one season at Morecambe, Elam joined conference side Halifax Town for the beginning of the 2003–04 season. On 31 October 2003 after only 15 appearances for the Shaymen, Elam moved to League Two side Yeovil Town. Elam made only 12 appearances for the Glovers before moving on loan to then Conference side Chester City for the remainder of the 2003–04 season, acting as a bit-part player as the side sealed the Football Conference title.
At the beginning of the 2004–05 season, Elam signed with now defunct Conference South side Hornchurch. After only six months Elam signed with conference side Burton Albion on 5 November 2004. Elam made only one appearance during the month of November for the Brewers before moving back to Morecambe for the remainder of the season.
Elam began the 2005–06 season with Conference side Crawley Town where he made five appearances before moving on 27 September 2005 to Conference South side Weymouth. Weymouth finished the 2005–06 season as Conference South champions and were promoted to the Conference National.
Elam made 23 appearances for Weymouth during the 2006–07 season before the entire first team was transfer listed on 10 January 2007 after the club decided to cut their financial costs. He was picked up on a free transfer by neighbouring Conference side Exeter City on 15 January 2007. His first match for Exeter was against his former club Weymouth, in which he scored a hat-trick. He was released by the club in May 2008 and subsequently trained with York City in July. He played for York in a 1–1 draw against Leeds United in a pre-season friendly and earned the chance to play again against Middlesbrough. York manager Colin Walker was unable to offer Elam a contract, but failed to rule out signing him eventually. He later confirmed that Elam would not sign for the club. He eventually joined Altrincham on a part-time basis, where he would coach youngsters.
In January 2009, Elam requested to leave Altrincham and joined Northwich Victoria on non-contract terms. He made his debut in a 2–1 defeat to Histon.
In 2010, Elam left Northwich Victoria having made 41 appearances for the side, scoring no goals, and joined Stalybridge Celtic.
Elam's Stalybridge career, as with Northwich, lasted only one season; appearing 29 times and scoring three goals for the club, he moved on in summer 2011 to Harrogate Town, where he made his debut on 16 August 2011 in a 3–2 loss to Stalybridge at Bower Fold.
He also has a job as a youth coach at Bradford City.As of 21 January 2007.