Born in Wrexham, Hughes began his career at Aston Villa, where he played seven times during the 1996/97 season as a replacement for the injured Steve Staunton.
Finding his chances at Villa Park limited on his return he joined Shrewsbury Town on a free transfer, making his debut in a 4–1 defeat to Exeter City.
He spent two years as a regular first-team choice and, in February 2001, he signed for Cardiff City for a fee of £450,000, £225,000 of which was given to Aston Villa due to a sell on clause,[1] and went straight into the Bluebirds side but injuries struck again and after failing to regain his place in the side he was released in 2003 and subsequently retired.
Hughes later joined English League Two club Shrewsbury Town, spending two years as their head of youth development.
[5] He left the club in August 2014 to take up a position as Assistant Intermediate Team Manager for the Wales Under-21-Under-17 sides.