Xu Liang started his football career with Liaoning Youth in 2001 and eventually graduated to top tier club Liaoning FC's first team in the 2002 league season where he made 23 appearances in his debut season. After establishing himself into the first team, he would be an integral member that saw Liaoning reach the final of the Chinese FA Cup in 2002. Off the field on December 6, 2004 he aided in the rescue of an injured woman who was involved in a car crash in Shenyang before taking her to hospital. After five seasons with Liaoning the club admitted they were in deep financial crisis and Xu was allowed to leave the club with Beijing Guoan interested in his services, however the two club's could not agree upon the 5.5 million Yuan transfer fee. Xu would have trails with Dutch club Heracles Almelo and Russian club FC Torpedo Moscow, however any transfer fell through with neither team could willing to agree upon a reported one million Euros transfer fee. On December 31, 2006 he would transfer to second tier team Guangzhou Pharmaceutical for 3 million Yuan. In his debut season he would quickly establish himself as vital member within the team's midfield and helped see the team win the league and gain promotion to the Chinese Super League in 2007. He would help establish Guangzhou within the top tier and was made vice-captain within the team, however his outspoken personality saw him publicly criticise his teammate, Zhou Lin for having a bad game against Beijing Guoan F.C. on June 28, 2009 in a 1-1 draw, which saw infighting between the two breakout and Zhou being frozen out of the team. Xu's outspoken personality was not limited to his own teammates and October 24, 2009 against Qingdao Jonoon F.C. in a 0-0 draw he would verbally tirade the referee for his decision making, which resulted in Xu receiving a five-game suspension. On 12 February 2010, he was signed by Beijing Guoan after Guangzhou was relegated due to a match-fixing scandal. On 4 August 2012, Xu scored from a distance of 62 meters in a league match against Dalian Shide, which is the longest goal scored in Chinese top tier history. Xu transferred to fellow Chinese Super League side Shanghai Shenhua on 11 December 2012. After an injury plagued period with Shanghai, Xu decided to retire from football at the end of the 2014 season. On 3 February 2016, Xu came out of retirement and joined China League One club Shenzhen FC.