Le départ a lieu à Sabbio Chiese, commune lombarde située à l'ouest du lac de Garde que le tracé rejoint après une dizaine de kilomètres pour en longer la rive occidentale puis la côte nord en passant par Riva del Garda (km 54). Cette grande étape de montagne franchit ensuite cinq cols dont le premier, le Passo di Santa Barbara, et le dernier (Monte Bondone où est jugée l'arrivée) sont classés en 1re catégorie. La montée finale entamée à Aldeno se termine au sommet du Monte Bondone après une ascension de 21,4km d'une pente moyenne de 6,7% avec un passage à 15% à environ 5km de l'arrivée.
Constituée par la jonction de plusieurs groupes, l'échappée du jour se forme lors de la première partie de l'étape relativement plate. Cette échappée compte 17 puis 26 coureurs. Ben Healy (EF Education) passe en tête de ce groupe au sommet du Passo di Santa Barbara avec un écart 2'45" à sur le peloton mais il est devancé par Davide Gabburo (Green Project Bardiani) au sommet du Passo Bordala quelques kilomètres plus loin. À 93km de l'arrivée, les équipiers du team Astana Vadim Pronskiy et Christian Scaroni attaquent dans le groupe des échappés et s'isolent en tête. Ils comptent jusqu'à 2'40" sur leurs anciens compagnons d'échappée mais l'écart diminue suite, entre autres, à une crevaison de Pronskiy. Le duo Astana est repris dans la montée du col de Serrada, à 2km du sommet, par les poursuivants dont le nombre s'est réduit à une dizaine d'hommes. Au sommet de Serrada (50 kilomètres de l'arrivée), le peloton pointe alors à 4'38". Le groupe de tête fort de douze unités se compose alors de Vadim Pronskiy, Ben Healy, Aurélien et Valentin Paret-Peintre (AG2R Citroën), Carlos Verona (Movistar), Jack Haig (Bahrain Victorious), Patrick Konrad (Bora Hansgrohe), Jonathan Lastra (Cofidis), Ben Swift (Ineos Grenadiers), Derek Gee (Israel Premier Tech), Filippo Zana (Jayco AlUla) et Diego Ulissi (UAE Emirates).
Au pied du Monte Bondone, la dernière ascension de la journée longue de 21,6km, le groupe de tête compte encore un avantage sur le peloton de 4 minutes. Après 3 kilomètres d'ascension, l'échappée perd quelques hommes alors que le peloton aussi très réduit a déjà repris une minute. Le peloton des favoris où le maillot rose Bruno Armirail lâche prise à 10km du sommet reprend les échappés à 8,5 kilomètres de l'arrivée. Ce peloton est devenu un groupe de six hommes: Geraint Thomas (Ineos Grenadiers), Primož Roglič et Sepp Kuss (Jumbo Visma), João Almeida (UAE Emirates), Eddie Dunbar et Filippo Zana (Jayco AlUla). Zana est décroché à 7km du but. Almeida place une attaque à 6km du sommet et s'isole en tête mais sans creuser un écart important. À 4,5km du terme, Thomas contre-attaque et revient sur Almeida. Le duo de tête prend progressivement de l'avance sur Roglič attendu par Kuss. João Almeida accélère aux 150 mètres pour s'imposer devant Geraint Thomas qui se réapproprie le maillot rose. Primož Roglič et Eddie Dunbar arrivent 25 secondes plus tard.
Classement de l'étape
Davantage d’informations Classement de l'étape, Coureur ...