L'étape a été marquée par l'échappée de quatre coureurs, le Néerlandais Bert-Jan Lindeman (Jumbo-Visma), le Sud-Africain Willie Smit (Katusha-Alpecin), le Canadien Ryan Anderson (Rally UHC Cycling) et le Suisse Simon Pellaud (équipe nationale suisse), partis dès les premiers mètres de course. Ils ont compté 3:30 d'avance. Dernier rescapé de l'échappée, Pellaud a été repris à 7 km de l'arrivée. Au sprint, en côte et sur une route pavée, Sagan n'a laissé aucune chance à ses adversaires. Il signe la 112e victoire de sa carrière, sa troisième de la saison et sa 17e sur les routes du Tour de Suisse. Sagan dépossède Asgreen du maillot jaune. Les deux hommes se trouvaient dans la même seconde au départ de l'étape. Désormais, grâce aux bonifications, Sagan devance Asgreen de 10 secondes et l'Australien Rohan Dennis (Bahrain-Merida), vainqueur de la 1re étape, de 11. La 4e étape, longue de 163,9 km, reliera Murten à Alesheim. L'ultime difficulté, une côte de 3e catégorie, se situe à moins de 20 kilomètres de la banderole finale. (Belga)