Ha came through the youth setup of Debreceni VSC, and joined the senior team in 1992. He made his debut for the Hungarian national team in 1994, and got 35 caps and one goal until 2001, when he retired from international football. He was a participant at the 1996 Summer Olympics in Atlanta, where Hungary failed to progress from the group stage. He stayed in Debrecen until 1999, celebrating Debreceni VSC's first domestic cup success just before he left for Eintracht Frankfurt. His career in Germany however did not last long, due to language problems and a conflict with the club's manager, Felix Magath. He joined FC Utrecht, the team he played for two seasons before he made his return to Hungary. After he returned to Debrecen, the club's Golden Era started, during which the team won the Hungarian League three times in a row. (Before 2005, Debrecen did not manage to win the league.) In 2009, he was the member of the team that won Debrecen's fourth domestic title.