Freeman began his career in England with Nottingham Forest, joining the club in 1996. Freeman went on to sign professional terms with the former European champions but only made limited appearances during his tenure at the City Ground. He also had a loan spell with Port Vale in 2000 during his time at Forest. Despite early promise, Freeman was released by Forest in 2002, a knee injury had restricted the already limited opportunities he had to impress the Forest management. Freeman went on to have short spells with Carlisle United and Ilkeston Town before returning to Ireland by signing for St Patrick's Athletic in 2003. Freeman spent one season with the "Saints", but his sole season will largely remembered for scoring the winning goal for Pats in the 2003 League of IrelandCup Final against Longford Town. Freeman also made an appearance for the Saints in that seasons FAI Cup final, a match Pats lost to Longford Town. Freeman joined Drogheda United for the 2004 season on a professional contract and became a regular figure for the Drogs". The 2005 season though saw Freeman struggle to retain his regular place in the "Drogs" first team and as a result, Freeman joined First Division promotion contenders Dublin City in July 2005, initially on loan. Freeman went on to sign permanently for the "Vikings" and was instrumental in their successful promotion that season. Freeman began the 2006 season back in the Premier Division with Dublin City, but City folded in July 2006 due to financial difficulties. As a result, Freeman became a free agent and would soon sign for Longford Town. Freeman became a regular figure in the Longford team but struggled to find the back of the net only scoring two goals for the Flancare Park club. Freeman's 2007 campaign was prematurely halted by the diagnosis of a heart condition. He did not play again that season and he departed Longford at the end of that season. Freeman signed for Shelbourne in December 2007 on condition of receiving the all-clear from his medics. Freeman made his Shelbourne debut in a scoreless draw against Dundalk at Tolka Park on 7 March 2008. He scored his first Shelbourne goal a week later during a 3–1 victory over Kildare County at Station Road on 14 March 2008. He finished as a First Division runner-up with "Shels" in the 2008 season and he made 31 league and cup appearances, scoring eight goals in the process. Freeman departed Shels at the end of the season to join Monaghan United on 27 January 2009. Freeman re-joined Longford Town in January 2010, but was released at the end of the 2010 season. He returned to another former club, Drogheda United, for their 2011 Premier Division campaign.
Coaching career
Freeman worked at the academy at Burton Albion, before he was taken on as a full-time academy staff member in July 2017.