Après celle de mercredi, Peter Sagan a offert une nouvelle démonstration de force sur le Tour de Suisse. Cette huitième étape offrait une course en circuit à effectuer à huit reprises pour un total de 100 kilomètres. Une échappée de quatre coureurs prend le large. On y retrouve le porteur du maillot de meilleur grimpeur Lasse Norman Hansen (Aqua Blue Sport) qui en a profité pour conforter son bien. Ainsi que Jelle Wallays (Lotto Soudal), Jaco Venter (Dimensio Data) et Nick Van Der Lijke (Roompot).
L'échappée a peu de chances d'aller au bout. A 20 kilomètres de l'arrivée Gianluca Brambilla (Quick Step) sort en contre mais sa tentative est vite repris tout comme l'échappée qui est revue à 12 kilomètres de l'arrivée. Les temps ont été gelé au dernier passage sur la ligne. Par conséquent, on assiste à de nombreux coureurs qui se relèvent. Alors qu'on se dirigeait vers un sprint, Michael Matthews, le sprinteur de la Sunweb place une attaque dans l'ultime côte du jour. Conscient de la difficile tâche de battre Sagan au sprint. Il arrive à sortir avec 8 hommes mais cela revient et un peloton d'une cinquantaine de coureurs se présente pour la victoire. La Quick Step mène pour Matteo Trentin mais c'est Peter Sagan qui lance le sprint et déborde les 2 italiens Trentin et Modolo pour s'adjuger facilement sa deuxième victoire de la semaine.
Le Slovène Simon Spilak conserve logiquement son maillot de leader avant le contre-la-montre de demain. Long de 28,6 km, il peut encore changer beaucoup de choses au classement général si un des leaders se retrouve dans une mauvaise journée comme c'est souvent arrivée dans cette semaine.
Classement de l'étape
- Peter Sagan (Bora)
- Sacha Modolo (UAE Team Emirats) " "
- Matteo Trentin (Quick Step) " "
- Magnus Cort Nielsen (Orica) " "
- Niccolo Bonifazio (Bahrain) " "
- Michael Matthews (Sunweb) " "
- John Degenkolb (Trek) " "
- Oscar Gatto (Astana) " "
- Kevin Reza (FDJ) " "
- Salvatore Puccio (Sky)
Classement général
- Simon Spilak (Katusha)
- Damiano Caruso (BMC) 52"
- Steven Kruisjwijk (Lotto Jumbo) 1'05"
- Domenico Pozzovivo (AG2R) 2'28"
- Rui Costa (UAE Team Emirats) 2'35"
- Mathias Frank (AG2R) 2'51"
- Mikel Nieve (Sky) 2'54"
- Ion Izagirre (Bahrain) 3'51"
- Marc Soler (Movistar) 4'07"
- Pello Bilbao (Astana) 4'10"