Bahrain-Merida rider Sonny Colbrelli prevailed in a sprint finish to claim the third stage of the Tour de Suisse.
The 28-year-old Italian negotiated the 182km run from Oberstammheim to Gansingen to win in four hours 39 minutes and 50 seconds.
Colombian Fernando Gaviria of Quick-Step Floors was second, with stage two winner Peter Sagan of Slovakia third.
Swiss Stefan Kung of the BMC team, who has been ahead since stage one, retained his overall lead.
Colbrelli launched his sprint early and was around 10 bike lengths ahead before three-time world champion Sagan and Gaviria pursued him.
The three crossed the line all leaning in on each other with the Sagan in the middle unable to find a way through, while Gaviria finished runner-up for the second day in succession.
Tuesday's fourth stage turns into the high mountains for a 189km run from Gansingen to Gstaad.
The race concludes in Bellinzona on Sunday.
1. Sonny Colbrelli (Ita/Bahrain-Merida) four hours 39 minutes 51 seconds
2. Fernando Gaviria (Col/Quick-Step Floors) same time
3. Peter Sagan (Svk/BORA-Hansgrohe) "
4. Michael Albasini (Sui/Mitchelton-Scott) "
5. Magnus Cort (Den/Astana Pro Team) "
6. Michael Matthews (Aus/Team Sunweb) "
7. Enrico Battaglin (Ita/Team LottoNL - Jumbo) "
8. Jasper Stuyven (Bel/Trek-Segafredo) "
9. Diego Ulissi (Ita/UAE Team Emirates) "
10. Sep Vanmarck (Bel/Team EF Education First) "
1. Stefan Küng (Sui/BMC Racing Team) 8hrs 50mins 15secs
2. Greg Van Avermaet (Bel/BMC Racing Team) +3secs
3. Richie Porte (Aus/BMC Racing Team) same time
4. Tejay van Garderen (US/BMC Racing Team) "
5. Peter Sagan (Svk/BORA-Hansgrohe) +16secs
6. Michael Matthews (Aus/Team Sunweb) +23secs
7. Wilco Kelderman (Ned/Team Sunweb) same time
8. Sam Oomen (Ned/Team Sunweb) "
9. Gregor Mühlberger (Aut/BORA-Hansgrohe) +30secs
10. Enric Mas (Spa/Quick-Step Floors) "