Arrivé en finale avec le huitième temps, Hafnaoui est devenu le deuxième champion olympique tunisien de natation après son compatriote Oussama Mellouli, sacré sur 1.500 m lors des Jeux de Pékin en 2008.
Le jeune nageur, spécialiste des longues distances, a bouclé la course en 3 min 43 sec 36, troisième meilleur chrono de l'année, coiffant dans la dernière longueur l'Australien Jack McLoughlin (3:43.52), 26 ans.
Pour ses premiers Jeux, l'Américain Kieran Smith, 19 ans, s'est offert le bronze en 3 min 43 sec 94, portant déjà à trois le nombre de médailles de son pays après le doublé américain sur 400 mètres 4 nages.