After making his debut for Portsmouth in a 1–1 draw at Sheffield United, Hughes was loaned out to Grimsby Town, where he played 12 games and scored one goal against Brighton. He was given a Premier League appearance in December 2003, and he remained a squad member for the remainder of the 2003–04 campaign. He scored the winning goal, his first for Portsmouth, in a 1–0 FA Cup victory over Liverpool on 22 February 2004. On 28 July 2006 he pledged his future to the club, signing a three-year contract. On 15 August 2007, playing against Manchester United, Hughes was headbutted by Cristiano Ronaldo, after Hughes allegedly provoked him. Ronaldo was red-carded for his actions. The game finished 1–1. Hughes was part of Portsmouth's 2007–08 FA Cup-winning team. Despite not making the squad for the final he appeared in the earlier rounds.