W maju 2012 został mistrzem Europy na dystansie 200 m stylem grzbietowym. Polak w finale poprawił własny rekord Polski wynikiem 1:55,28 (poprzedni wynosił 1:55,60 i był uzyskany w stroju poliuretanowym), który jest jednocześnie rekordem mistrzostw Europy. Podczas igrzysk olimpijskich w Londynie zajął czwarte miejsce z czasem 1:55,59. Na mistrzostwach Europy na krótkim basenie w Chartres w 2012 roku obronił złoty medal na dystansie 200 m stylem grzbietowym i ustanowił nowy rekord Polski i mistrzostw Europy z czasem 1:48,51. W grudniu tego samego roku podczas mistrzostw świata na krótkim basenie zdobył złoty medal w konkurencji 200 m stylem grzbietowym, jednocześnie pobił rekord Polski, uzyskując czas 1:48,48. Na dystansie 100 m w tym samym stylu był szósty.