La corsa inizia ad animarsi sull'ascesa del Muro di Sormano, dove si seleziona un gruppo di circa 50 atleti. Nel tratto di saliscendi che porta a Como, provano ad allungare il due volte vincitore Philippe Gilbert e altri 3 atleti. Essi sono ripresi all'inizio della penultima ascesa, il Civiglio. Qui attacca Gianni Moscon, seguito da Sam Oomen; questo attacco viene neutralizzato dal gruppo tirato da Vincenzo Nibali. A questo punto, Thibaut Pinot prova più volte l'attacco, riuscendo a guadagnare terreno al quarto tentativo. Il gruppetto all'inseguimento inizialmente tentenna, facendo guadagnare al francese circa 15 secondi. In vista dello scollinamento, dal gruppetto attacca Nibali, che in poche pedalate riprende Pinot rilanciando l'azione lanciandosi in discesa, terreno poco avvezzo al transalpino. Infatti il corridore italiano riesce a distanziare il francese nella parte tecnica, guadagnando una decina di secondi. Nibali affronta così la salita di San Fermo della Battaglia con 15" di vantaggio su Pinot e 50" sul gruppetto dietro. Nell'ultima ascesa Pinot va in crisi, mentre Nibali non cede un metro, scollinando con 45" su Julian Alaphilippe, scattato dal gruppetto dietro che intanto ha ripreso Pinot. Gli ultimi 3 chilometri quindi sono una passerella per il corridore siciliano, che va quindi a bissare il successo del 2015. Dietro di lui arriva Alaphilippe a 28", mentre a 38" Moscon vince la volata del gruppetto per il terzo posto, salendo per la prima volta sul podio in una classica monumento.