De wedstrijd werd geanimeerd door een vroege vlucht van Edoardo Zardini, Marco Canola, Alex Cataford en Mirco Maestri. Veel voorsprong kregen de vier niet van het peloton, waarin Bahrain en UAE Team Emirates het commando namen. Toen de voorsprong van twee overblijvende vluchters, Maestri en Cataford, was gezakt naar driekwart minuut, maakte Jack Bauer de oversteek. Maar toen de favorieten elkaar begonnen te bestoken in de finale, bleken de vluchters vogels voor de kat. In de voorlaatste van acht rondjes op een lokaal circuit van 23,2 kilometer ging Vincenzo Nibali met Diego Ulissi in der aanval. Wat later sloten Riabushenko, Mohoric, Giovani Carboni en Patrick Schelling aan. Hoewel hun voorsprong niet boven de halve minuut ging, zou het peloton niet meer terugkomen. Ulissi viel bergop als eerste aan en kreeg Nibali met zich mee. Die probeerde nog een paar keer te versnellen, maar Ulissi wist van geen wijken. De vier andere medevluchters kwamen ook nog terug, maar uiteindelijk kwam het tot een sprint met slechts vier: Ulissi en ploegmaat Riabushenko, Mohoric en Schelling. Ulissi had de snelste benen en pakte zijn eerste zege van het seizoen. In Lugano moest hij in 2016 al eens vrede nemen met een tweede plaats en in 2014 met een derde stek. Op de erelijst volgt hij de Oostenrijker Hermann Pernsteiner op. (Belga)