Hughes started his career with Scottish Premier League club Rangers at the age of 16. He went on to make 90 appearances for the Ibrox club and scored seven goals in the process.
Leicester City
Hughes joined Leicester City in January 2005 for £100,000 and signed a three-and-a-half year deal. In January 2006, he scored a memorable goal which helped knock Tottenham Hotspur out of the FA Cup in a cup upset.
Motherwell
On 4 June 2007, Hughes was placed on the transfer list by then Leicester manager Martin Allen, with Hearts and Motherwell reportedly offering £50,000 for the player. On 17 August, Hearts had successfully negotiated terms with Hughes. The transfer, however, was delayed, and on 31 August, Hughes joined Motherwell for an undisclosed fee. Hughes played for Motherwell in the 2007–08 and 2008–09 seasons.
Norwich City
Scottish newspapers on 22 July 2009 suggested that Hughes had joined Norwich City as a free agent on a three-year contract. This was confirmed later the same day. He played his first match for the Canaries in their final pre-season friendly against Wigan on 1 August 2009 playing for 59 minutes before being substituted. He scored his first goal for Norwich in a 2–0 win over Hartlepool on 29 August 2009. Hughes impressed fans with his performances in his first season with the club. However, Hughes sustained an knee injury, which required an operation on 21 October and ruled him out for two months. Hughes returned to Norwich after a loan spell at MK Dons to gain fitness after his operation. He left Norwich by mutual consent in August 2011.
Return to Motherwell
After leaving Norwich, Hughes became a free agent, but failed to find a club in the first few months. On 16 November 2011, Hughes re-joined Motherwell until 3 January 2012 after a successful trial. Hughes started the match against Hibernian on 2 December 2011, but this match was abandoned at half-time due to a floodlight fire, and was therefore a void match, so his second debut for the club came as a substitute in a 3–0 win away to St Johnstone the following week. Hughes left the club at the end of his deal, after the club decided not to offer him an extension. He made 4 appearances in his second spell at Fir Park.
Aberdeen
After a short trial, Hughes signed for Aberdeen on 27 January 2012. He was released from his contract on 7 June 2013.
East Fife
On 10 October 2013, Hughes signed for Scottish League One side East Fife. Hughes made 9 league appearances for East Fife, scoring one goal.
Dundee
Having completed a short-term contract with East Fife, Hughes signed for Scottish Championship club Dundee in January 2014. His Dundee career was short lived where he played only the first 45 minutes away to Falkirk where after a poor performance was substituted at half time. He never played for Dundee again.
East Fife (loan)
After making only one appearance for Dundee, Hughes rejoined East Fife on loan after being told he wasn't part of Paul Hartley's plans as new manager.
International career
Hughes was called up to the Scotland squad to play Japan in October 2009. Hughes came on as a second-half substitute, replacing Charlie Adam in the 67th minute.