Cette étape de montagne part de la ville toscane d'Abbiategrasso pour se diriger au nord vers les Alpes. En raison de l'accident du téléphérique Stresa-Alpino-Mottarone, l'ascension du Mottarone (1re catégorie) prévue en début d'étape est remplacée par un passage par Gignese (4e catégorie)[1]. La suite du parcours reste inchangée : les coureurs descendent vers les rives du lac Majeur avant de s'élever vers le Passo della Colma (3e catégorie). L'ultime ascension d'une dizaine de kilomètres sur une route large avec virages en lacet mène les coureurs au sommet du troisième col de la journée (1re catégorie) en pleine nature à Alpe di Mera où se situe l'arrivée.
Déroulement de la course
Après plusieurs tentatives infructueuses, une échappée de 6 hommes réussit à prendre une avance respectable sur le peloton à environ 120 kilomètres de l'arrivée. Les six coureurs composant ce groupe sont l'Italien Andrea Pasqualon et le Belge Quinten Hermans (Intermarché-Wanty Gobert), l'Américain Lawrence Warbasse (AG2R Citroen), l'Italien Nicola Venchiarutti (Androni), le Britannique Mark Christian (EOLO-Kometa) et l'Italien Giovanni Aleotti (Bora-Hansgrohe). L'avance des fuyards sur le peloton ne dépasse pas les 4 minutes puis commence à se réduire sous l'impulsion dynamique de l'équipe Deceuninck-Quick Step provoquant quelques cassures temporaires dans le peloton. À 55 kilomètres du terme, l'avance des six échappés sur le peloton est de 2'15". Trois kilomètres plus loin, une chute dans le peloton contraint Gianluca Brambilla (Trek-Segafredo) à l'abandon. Dans l'ascension du Passo della Colma (3ème catégorie), Venchiarutti ne peut suivre ses compagnons d'échappée. Et au sommet, les cinq échappés conservent une minute d'avance sur le peloton. Dans la descente de ce col, l'avance des fuyards fond pour ne plus compter qu'une quinzaine de seconde au pied de la montée finale de 9,8 km vers l'Alpe di Mera. À 7 kilomètres du sommet, Mark Christian, le dernier rescapé de l'échappée initiale est à peine repris par le peloton que João Almeida (Deceuninck-Quick Step) place une attaque. Il est toutefois repris quelques hectomètres plus loin par Simon Yates (BikieExchange) accompagné par Aleksandr Vlasov (Astana), Damiano Caruso (Bahrain-Victorious) et George Bennett (Jumbo-Visma) mais sans Egan Bernal en difficulté dans les roues ses équipiers. À 5,5 kilomètres de l'arrivée, Simon Yates lâche ses concurrents et s'isole en tête. Bien aidé par son équipier Daniel Martínez, Bernal réussit à faire la jonction avec les poursuivants de Yates. Et à 2,2 kilomètres du but, Bernal et Almeida deviennent les seuls derrière Yates qui ne parvient toutefois pas à augmenter son avance. Aux 500 mètres, Almeida dépose Bernal et termine deuxième à 11 secondes derrière Simon Yates, vainqueur de l'étape.