A 111ª edição da Milano-Sanremo apresentou um percurso de 305 quilómetros, com algumas diferenças face a edições anteriores, mas mantendo a ascensão ao Cipressa e ao Poggio, que prometiam animar a corrida.
A fuga do dia deu-se muito cedo com um grupo de seis corredores: Alessandro Tonelli e Fabio Mazzucco (Bardiani – CSF), Manuele Boaro (Astana), Héctor Carretero (Movistar), Mattia Bais (Androni Giocattoli – Sidermec), Damiano Cima (Gazprom – RusVelo) e Marco Frapporti (Vini Zabù – KTM). Estes chegaram a ter mais de seis minutos de avanço, embora sempre vigiados por um pelotão comandado pela Deceuninck – Quick Step, Team Jumbo – Visma, FDJ e Lotto – Soudal.

Perto da ascensão ao Cipressa o pelotão começou a impor um ritmo mais elevado para anular a fuga e, ao mesmo tempo, eliminar alguns dos sprínteres. Com este ritmo elevado, ficaram para trás nomes como Caleb Ewan (Lotto – Soudal) e Fernando Gaviria (UAE – Team Emirates), para além de a fuga ter sido, naturalmente, anulada.
Nesta 111ª edição foi a subida ao Poggio que decidiu a corrida. O francês Julian Alaphilippe (Deceuninck – Quick Step) atacou e chegou ao topo isolado com 5 segundos de avanço sobre o neerlandês Wout van Aert (Team Jumbo – Visma), com o pelotão mais atrasado. O neerlandês viria a alcançar o francês na descida do Poggio, passando ambos a colaborar para disputarem o triunfo na meta.

No sprint final Wout van Aert foi o mais forte e garantiu o primeiro monumento da sua carreira. Michael Matthews (Team Sunweb) encabeçou o pelotão e completou o pódio.
