L'Italia può finalmente festeggiare al Giro d'Italia con Jonathan Milan. Il friulano della Lidl-Trek si è imposto in volata nella quarta tappa della Corsa Rosa superando sul traguardo di Andora l'australiano Kaden Groves (Alpecin-Deceuninck) e il tedesco Phil Bauhaus (Bahrein-Victorius). Il campione olimpico ha riscattato alla perfezione l'amarezza per il secondo posto del giorno precedente riprendendosi così la maglia ciclamino dedicata alla classifica a punti.
Inizio di tappa molto movimentato con Francisco Munoz (Team Polti Kometa), Filippo Ganna (INEOS Grenadiers), Lilian Calmejane (Intermarché-Wanty) e Stefan de Bod (Education Easy Post) pronti a prendere subito il largo in vista del gran premio della montagna di Colle del Melogno. Proprio lungo quell'ascesa, considerato l'inseguimento posto dal gruppo, la "Locomotiva di Verbania" ha deciso di rialzarsi lasciando che i colleghi potessero volare a oltre 5'30" sul plotone principale.
La salita ha fatto però alcune vittime fra i velocisti come Fabio Jakobsen (Team dsm-firmenich PostNL) e Fernando Gaviria (Movistar Team) che hanno perso le ruote del plotone principale e sono stati costretti a rincorrere per diversi chilometri. Quando tutto sembrava andare per il meglio e mentre Calmejane decideva di farsi riprendere dal gruppo, una caduta falcidiava i corridori coinvolgendo fra gli altri Ben O' Connor (Decathlon-Ag2R), Damiano Caruso (Bahrein Victorius) e Biniam Girmay (Intermarché-Wanty) con quest'ultimo uscito piuttosto malconcio scivolando una seconda volta dopo pochi minuti e dovendosi così ritirare.
Il plotone si è quindi spezzato in diversi tronconi sino al passaggio di Savona quando sono rientrati tutti gli atleti rilanciando così l'inseguimento ai due battistrada, capaci di rimanere davanti sono al Capo Mele dove ha provato ad attaccare in solitaria Filippo Ganna. Dietro si sono mossi Danny Van Poppel (Bora-Hansgrohe) e Andrea Pasqualon (Bahrein-Victorius) così come Giulio Pellizzari (VF Group-Bardiani CSF-Faizanè) senza però fortuna.
In vista del rettilineo finale l'azzurro è stato ripreso con Simone Consonni (Lidl-Trek) che ha lanciato alla perfezione Jonathan Milan che ha sprigionato tutta la propria potenza imponendosi davanti a Groves e Bauhaus, mentre in casa Italia vanno sottolineati il sesto posto di Davide Ballerini (Astana Qazaqstan Team), l'ottavo di Edoardo Zanoncello (VF Group-Bardiani CSF-Faizanè) e il decimo di Giovanni Lonardi (Team Polti Kometa).
Nessuna modifica in classifica generale con Tadej Pogacar (UAE Team Emirates) che conserva la maglia rosa con 46 secondi su Geraint Thomas (Ineos-Grenadiers) e 47 su Daniel Martinez (Bora-Hansgrohe).