Para os Xogos Olímpicos de Verán de 2012, Sun foi considerado o favorito nos 400 metros e 1500 metros estilo libre.
, así como un competidor no estilo libre de 200 metros. No seu primeiro evento, o 400 metros estilo libre, gañou a medalla de ouro cun tempo de 3:40.14, batendo o récord olímpico anteriormente en poder de Ian Thorpe e converténdose no primeiro nadador masculino chinés en gañar unha medalla de ouro nos Xogos Olímpicos. O seu tempo tamén foi o terceiro máis rápido da historia, a 0,07 segundos do récord mundial, e estableceu un novo récord asiático. Despois dun día de recuperación, Sun competiu nos 200 metros estilo libre. Gañou a medalla de prata na final, empatando con Park Tae-hwan cun tempo de 1:44.93, un novo récord nacional. O día seguinte, Sun nadou a perna de ancla no relevo de estilo libre de 4 × 200 metros para axudar ao equipo chinés a gañar o bronce, a primeira medalla olímpica de China nun evento de relevo masculino.