Fredrik Dversnes, dernier survivant d'une échappée de sept coureurs ayant compté jusqu'à six minutes d'avance, a devancé de sept secondes le peloton emmené par le Néerlandais Mathieu van der Poel.
Il a a signé au terme des 205 kilomètres "la plus belle victoire de (sa) carrière", la première depuis 13 ans d'un Norvégien dans Tirreno-Adriatico.
"Les deux journées précédentes avaient été compliquées pour moi à cause du froid, mais on a décidé de partir tôt sans vraiment savoir ce que cela allait donner", a expliqué le coureur de 27 ans.
Alors que l'échappée perdait des participants et de l'avance au fil des ascensions -trois cols pour un total de 3.500 m de dénivelé-, Dversnes a tenu le coup de justesse.
"Il a fallu attendre les 500 derniers mètres pour être sûr de gagner cette étape. C'est un rêve devenu réalité de gagner dans une épreuve World Tour", s'est-il réjoui.
Parmi les favoris, Van der Poel, 3e la veille, a encore fait belle impression, tout comme l'Espagnol Juan Ayuso (UAE) et le Français Romain Gregoire (Groupama-FDJ), 7e de l'étape et 8e du général.
Le maillot de leader reste toutefois sur les épaules de l'Italien Filippo Ganna (Ineos), avec 22 secondes d'avance sur Ayuso. Leader du classement général depuis sa victoire lors de la première étape, Ganna a connu un problème mécanique à la limite des trois km de l'arrivée et a franchi la ligne distancé. Le jury a finalement décidé, comme le prévoit le réglement, qu'il pouvait être crédité du même temps que le groupe auquel il appartenait.
Ganna devrait toutefois avoir du mal à conserver son maillot bleu à l'issue de la sixième et avant-dernière étape samedi, la plus difficile de la semaine avec une rampe finale de huit kilomètres pour rallier Frontignano (1327 m).