2012 m. vasaros olimpinėse žaidynėse Sunas buvo laikomas favoritu 400 metrų lenktynėse ir
1500 metrų laisvo stiliaus, taip pat varžovas 200 metrų laisvo stiliaus. Pirmoje savo varžybose, 400 metrų laisvosios stiliaus lenktynėse, jis laimėjo aukso medalį ir pasiekė 3:40,14 laiko, taip pažeisdamas Olimpinį rekordą, kurį anksčiau turėjo Ianas Thorpas, ir tapo pirmuoju Kinijos plaukiojančiu vyru, laimėjusiu aukso medalį olimpiadoje. Jo laikas taip pat buvo trečias greičiausias istorijoje, 0,07 sekundės nuo pasaulio rekordo ir naujas Azijos rekordas. Po dienos atsigavimo Sun varžėsi 200 metrų laisvosios stiliaus lenktynėse. Finale jis laimėjo sidabro medalį, susitaikydamas su Park Tae-hwan ir pasiekęs naują nacionalinį rekordą - 1:44.93. Kitą dieną Sun plaukiojo 4 × 200 metrų laisvosios stiliaus švaistoje, kad padėtų Kinijos komandai laimėti bronzą, pirmąjį Kinijos olimpinį medalį vyrų švaistoje.