Ghaly is a product of Al Ahly youth team, and he broke into the first team squad in 1997, he was only 16 when he joined the first team. He played regularly for Al-Ahly until he moved to Feyenoord Rotterdam in 2003, despite interest from numerous other European clubs such as VfB Stuttgart and FC Nantes. The transfer fee was said to be around €1.4 million.
After three troublesome seasons in the Netherlands, Ghaly joined Tottenham Hotspur of the Premier League in January 2006. Their rivals Arsenal had been interested before he signed a four-and-a-half-year contract at Tottenham. Ghaly was given the number 14 jersey and made his debut against Manchester United at Old Trafford on 9 September 2006. He scored his first goal for Spurs in the UEFA Cup against Beşiktaş on 19 October 2006. During a game against rivals Chelsea on 11 March 2007, he gave Spurs a temporary 3–1 lead in the FA Cup. A week later Ghaly scored his only Premier League goal, in a 3–1 win over Watford. A foul on Ghaly in the middle of the penalty box against Blackburn Rovers saw Jermain Defoe score a penalty kick which resulted in the game ending in 1–1 draw. Ghaly's second encounter with Blackburn however is remembered merely due to its affiliation with infamy. His future at Tottenham was left in doubt after he pulled off his shirt and threw it to the ground after being substituted during a Premier League match against Blackburn on 10 May 2007. Ghaly had been brought on in the first half after an injury to Steed Malbranque, and rebelled when brought off. The Tottenham fans were left angry at Ghaly's reaction, singing "You're not fit to wear the shirt" and he was disciplined by the club soon after. He issued the following apology: "I am just so angry with myself," Ghaly told the official Spurs site. "I have always considered it an honour to wear the Tottenham shirt and I never intended to show any disrespect". "I knew things weren't happening for me out there, my play was terrible and I could hear the crowd jeering me. I was so upset at the fans' reaction. I have enjoyed playing in front of the club's supporters all season and I felt I had given of my best all the time and played some decent football. It is always hard to accept being substituted after such a short period of time and I was upset and taken aback by the cheering. I am a player who plays with my heart". "I know my reaction was totally wrong. I have apologised to the manager and I also want to apologise to the fans. I hope they don't judge me on this incident alone. I have tried hard for the club this season". Nonetheless, he was not to play for the club again. He stated that he wished to leave Tottenham due to his frustration at being unable to play in central midfield. In July 2007, he was set to move to Birmingham City for a fee of £3 million. However, on 3 August, Birmingham announced they would not be completing the deal after a training ground disagreement with manager Steve Bruce.
In January 2008, Derby County expressed an interest in Ghaly. They agreed terms with Tottenham Hotspur and the player to take him on loan until the end of the season. Ghaly made his debut during Derby's 1–0 home defeat by Wigan Athletic on 12 January. After 12 games and the relegation of Derby to the Championship, Paul Jewell revealed he would not sign him as Ghaly wished to stay in the Premiership.
Return to Tottenham Hotspur
Despite not being given a squad number by Juande Ramos during his time at Tottenham, new appointment Harry Redknapp issued him with the number 15. On 2 January 2009, Ghaly was amongst the substitutes for Tottenham's FA Cup 3rd Round tie against Wigan Athletic at White Hart Lane. Whilst warming up and preparing to be substituted on late in the second half, Ghaly was booed by a large amount of the Tottenham supporters. In light of this, manager Harry Redknapp decided against bringing him on.
On 22 January 2009, Hossam Ghaly completed a move to Saudi club Al-Nassr on a three-year deal.
Al Ahly
On 6 July 2010, Ghaly completed a free transfer and signed a three-year contract with his first side, Al Ahly. There was a contest for his signature with archrivals Zamalek also making an offer. He retrieved his number 14 shirt along with the captain's armband. In December, during a World Cup match, he became injured for six months, so he would not play for the rest of the season.