Bernal, qui a attaqué à un peu moins de 3 km de l'arrivée, a gagné avec 22 secondes d'avance sur un duo composé par l'Italien Domenico Pozzovivo et l'Australien Rohan Dennis.
Au général, Bernal possède désormais 41 secondes de marge sur Dennis avant le dernier week-end de course. Le rouleur des Antipodes devrait logiquement réduire l'écart samedi lors du contre-la-montre de 19,2 km à Ulrichen.
L'étape du jour s'est jouée dans l'ultime ascension. Le Suisse Matthias Frank a été le dernier rescapé d'une échappée qui réunissait aussi ses compatriotes Steve Morabito et Gino Mäder. Frank a été rejoint à 5,5 km du but.
L'Espagnol Enric Mas a ensuite porté une attaque. Il a été rattrapé puis lâché par Bernal, qui avait démarré à 2,7 km de l'arrivée. Le Colombien a profité de l'impressionnant travail de son équipe dans la montée finale de cette étape de 217 km partie d'Unterterzen.
ats/rens