Italy's Matteo Trentin won stage six of the Tour of Switzerland as he sprinted clear of fellow Italians Daniele Bennati and Francesco Gavazz.
Great Britain's Ben Swift finished fourth for Team Sky.
Trentin's Omega Pharma Quick-Step team-mate Tony Martin retained the overall race lead ahead of Dutchman Tom Dumoulin and Slovakia's Peter Sagan.
"I attacked 200m from the line, and I knew I had a chance because that is a good distance for me," said Trentin.
Dumoulin and Sagan remain Martin's closest rivals for the yellow jersey, with second-placed Dumoulin just six seconds in arrears after the 193km stage from Buren an der Aare to Delemont.
But Martin, the world time-trial champion, will hope to extend his lead in Friday's time trial stage in Worb.
The nine-stage race concludes in the Alpine town of Saas-Fee on Sunday.
Stage six result:
1. Matteo Trentin (Italy / Omega Pharma - Quick-Step) 4:43:19"
2. Daniele Bennati (Italy / Tinkoff - Saxo) same time
3. Francesco Gavazzi (Italy / Astana)
4. Ben Swift (GB / Team Sky)
5. Peter Sagan (Slovakia / Cannondale)
6. Sacha Modolo (Italy / Lampre)
7. Jose Joaquin Rojas (Spain / Movistar)
8. Silvan Dillier (Switzerland / BMC)
9. Sergio Henao (Colombia / Team Sky)
10. Tosh van der Sande (Belgium / Lotto - Belisol)
1. Tony Martin (Germany / Omega Pharma - Quick-Step) 23:11:06"
2. Tom Dumoulin (Netherlands / Giant) +6"
3. Peter Sagan (Slovakia / Cannondale) +10"
4. Bauke Mollema (Netherlands / Belkin) + 17"
5. Tom-Jelte Slagter (Netherlands / Garmin) +23"
6. Davide Formolo (Italy / Cannondale) +27"
7. Jon Izagirre (Spain / Movistar)
8. Roman Kreuziger (Czech Republic / Tinkoff - Saxo) +28"
9. Mathias Frank (Switzerland / IAM Cycling) + 29"
10. Mattia Cattaneo (Italy / Lampre)