He started his professional career in 1998 with Pusan Daewoo Royals, but moved to Italy in 2000 to play for Perugia, where he made a total of 33 appearances in two seasons and scored five goals. But it was the summer of 2002 that made him an international name, as he scored the golden goal for South Korea that eliminated Italy in the World Cup Round of 16. The day after the match, Perugia owner Luciano Gaucci cancelled Ahn's contract, reportedly saying "I have no intention of paying a salary to someone who has ruined Italian football."
Gaucci later had a change of heart, but Ahn was so offended by the slight that he refused to consider a return. He moved instead to Shimizu S-Pulse for a season, starting a series of short stays that included spells at Yokohama (2004-05), Metz (2005-06), and Duisburg (2006), before returning to South Korea with Suwon Bluewings in 2006. Most recently, he played for Chinese side Dalian Shide from 2009 to 2011.
In the meantime, he continued to play for the South Korean national team, scoring 17 goals in 77 appearances before retiring in 2010.