Viviani odniósł dopiero pierwsze zwycięstwo w tym sezonie, wcześniej sześciokrotnie plasując się na drugich miejscach na finiszu. Włoch bez większych problemów pokonał rywali na mecie w Payerne, finiszując najszybciej z zasadniczej grupy.
Etap wokół Payerne, liczący 187 kilometrów, tym razem przebiegał w lepszych niż wczoraj warunkach atmosferycznych. Chętnych do ucieczki jak zwykle nie brakowało i siódemka kolarzy zdecydowała się na odjazd w pierwszej fazie wyścigu. Mając w pamięci wczorajszą skuteczną ucieczkę, peleton tym razem był czujniejszy i skasował ten odjazd jeszcze na 40 kilometrów przed metą. Niedługo potem ostatni podjazd na trasie do ataku wykorzystał Alex Dowsett (Movistar). Brytyjczyk, dobrze jeżdżący na czas, zyskał pół minuty przewagi nad peletonem, ale gdy sprinterzy poczuli, że mają szansę walczyć o zwycięstwo, mocniej nacisnęli na pedały.
Dowsett został doścignięty przez peleton na niecałe 4 kilometrów przed metą, głównie dzięki pracy kolarzy Team Sky i Quick-Step Floors, mające w swoich szeregach sprinterów. Wysoko jechał też lider wyścigu, Fabio Felline (Trek-Segafredo), a także kolarze Bora-hansgrohe, jednak najlepiej spisali się kolarze Sky, rozprowadzający Vivianiego.
Mimo długiego finiszu Alexa Edmondsona (Orica-Scott), Viviani nie dał się zaskoczyć i szybko siadł na koło atakującego Australijczyka, a chwilę później w bezpośrednim pojedynku na kresce wyprzedził Colbrelliego i Schwarzmanna. 34. miejsce na etapie zajął Paweł Poljański (Bora-hansgrohe).
Liderem wyścigu pozostał Fabio Felline (Trek-Segafredo).
Wyniki 3. etapu:
- 1 Elia Viviani (Ita) Team Sky 4:27:42
- 2 Sonny Colbrelli (Ita) Bahrain-Merida
- 3 Michael Schwarzmann (Ger) Bora-Hansgrohe
- 4 Alexander Edmondson (Aus) Orica-Scott
- 5 Samuel Dumoulin (Fra) AG2R La Mondiale
- 6 Youcef Reguigui (Alg) Dimension Data
- 7 Maximiliano Richeze (Arg) Quick-Step Floors
- 8 Moreno Hofland (Ned) Lotto Soudal
- 9 Viacheslav Kuznetsov (Rus) Katusha-Alpecin
- 10 Juan Jose Lobato (Spa) Team LottoNl-Jumbo
Klasyfikacja generalna po 3. etapie:
- 1 Fabio Felline (Ita) Trek-Segafredo 12:40:24
- 2 Maximilian Schachmann (Ger) Quick-Step Floors 0:00:08
- 3 Jesus Herrada (Spa) Movistar Team
- 4 Primoz Roglic (Slo) Team LottoNl-Jumbo 0:00:09
- 5 Ion Izagirre (Spa) Bahrain-Merida 0:00:12
- 6 Bob Jungels (Lux) Quick-Step Floors
- 7 José Gonçalves (Por) Katusha-Alpecin 0:00:13
- 8 Ruben Fernandez (Spa) Movistar Team
- 9 Michael Albasini (Swi) Orica-Scott 0:00:14
- 10 Jonathan Castroviejo (Spa) Movistar Team