Sun ha militato per quasi tutta la sua carriera professionistica nello Shanghai Shenhua, tranne che per una breve parentesi europea.
Nel 2006 è stato infatti chiamato dal PSV insieme al gemelloJi per fare un provino: Ji è stato scartato, mentre Xiang ha firmato un contratto di tre anni. Arrivato nei Paesi Bassi, ha debuttato il 17 febbraio 2007, divenendo il primo calciatore cinese della storia dell'Eredivisie. Il 20 febbraio è entrato da sostituto nel match di Champions League contro l'Arsenal, vinto dalla sua squadra per 1-0, diventando così il primo cinese a giocare nella massima competizione europea per club.