Tegoroczna edycja Il Lombardia, wyścigu, który tradycyjnie kończy ściganie w Europie, rozegrała się na ostatnich 15 kilometrach, ale decydujące ataki rozpoczęły się już na Muro di Sormano na 50 kilometrów przed metą. Tam zaatakował Primoz Roglic (LottoNL-Jumbo) i razem ze Słoweńcem ruszyli Egan Bernal (Team Sky), a także Pinot i Vincenzo Nibali (Bahrain-Merida), a za nimi uformowała się grupa pościgowa, w której był też Majka.
Czwórka liderów utrzymywała ponad półminutową przewagę nad pogonią, gdy na Civiglio Pinot i Nibali zgubili pozostałą dwójkę. Wykorzystując podjazd Pinot zmęczył Nibalego mocnym tempem, a na niespełna 14 kilometrów przed metą ruszył do przodu, zostawiając ubiegłorocznego zwycięzcę za plecami. Szczyt ostatniego podjazdu minął z przewagą 25 sekund nad Włochem i kolejnych 20 nad Majką, który przewodził pogoni.
Po kilku kilometrach zjazdu i niewielkim pagórku 5 kilometrów przed kreską, Pinot na ostatnią prostą wjechał niezagrożony i na Lungo Lario Trento w Como uniósł ręce w geście zwycięstwa.
Nibali, choć w końcówce kolarze z grupy pościgowej praktycznie do niego doszli, znów ruszył na zjeździe i zachował kilka sekund zapasu i wywalczył drugie miejsce. Finisz o trzecie wygrał Dylan Teuns (BMC Racing Team), a na 7. miejscu finiszował Majka.
Michał Gołaś (Team Sky) i Paweł Poljański (Bora-hansgrohe) nie ukończyli wyścigu.
Wyniki: