Jai Hindley fra Sunweb vant den 18. etappen av Giro d'Italia etter seks timer på sykkelsetet, men det ble en kamp til døra mot britiske Tao Geoghegan Hart.