Soelden - American Tejay Van Garderen won the seventh stage of the Tour of Switzerland on Friday at Soelden in Austria with France's Warren Barguil taking the race lead.
Giant rider Barguil grabbed the yellow jersey from Dutchman Wilco Kelderman after finishing third behind BMC's Van Garderen.
Barguil had been second overall before the longest and most difficult stage, covering 224.3km from Amden in Switzerland to the Rettenbach Glacier in Austria.
Up to 10 riders could have won the stage with three-time Tour of Switzerland winner Rui Costa, Geraint Thomas, Andrew Talansky, Van Garderen, and last year's champion Simon Spilak, all well placed.
Van Garderen was the first to attack, with Barguil responding, followed by Colombian Lopez Moreno.
Van Garderen finished 16 seconds ahead of his two rivals with Thomas losing one minute, which could prove costly on the eve of the 16.8km time-trial at Davos which could decide the race winner.
Kelderman finished two minutes off the pace as France's Pierre Latour of AG2R, who had worn the leader's jersey for a day, pulled out of the race because of symptoms of bronchitis.
Tour of Switzerland seventh stage results, a 224.3km ride from Amden, Switzerland to Soelden on Friday:
Stage
1. Tejay Van Garderen (USA/BMC) 6hr 26min 13sec (average: 34.8 km/h), 2. Miguel Angel Lopez (COL/AST) at 0:16, 3. Warren Barguil (FRA/GIA) 0:16, 4. Jarlinson Pantano (COL/IAM) 0:31, 5. Andrew Talansky (USA/CAN) 0:33, 6. Simon Spilak (SLO/KAT) 0:43, 7. Rui Costa (POR/LAM) 0:49, 8. Jon Izagirre (ESP/MOV) 0:49, 9. Vctor De la Parte (ESP/CCC) 0:59, 10. Jan Hirt (CZE/CCC) 0:59, 11. Geraint Thomas (GBR/SKY) 1:08, 12. Frank Schleck (LUX/TRE) 2:07, 13. Wilco Kelderman (NED/LNL) 2:07, 14. Darwin Atapuma (COL/BMC) 2:07, 15. Jan Polanc (SLO/LAM) 2:39, 16. Vasil Kiryienka (BLR/SKY) 2:48, 17. Pawel Cieslik (POL/VAT) 2:53, 18. Sergey Chernetsky (RUS/KAT) 3:05, 19. Matvei Mamykin (RUS/KAT) 3:43, 20. Hubert Dupont (FRA/ALM) 3:52
Overall
1. Warren Barguil (FRA/GIA) 29hr 09min 53sec, 2. Miguel Angel Lopez (COL/AST) at 0:21, 3. Andrew Talansky (USA/CAN) 0:24, 4. Jon Izagirre (ESP/MOV) 0:55, 5. Jarlinson Pantano (COL/IAM) 1:06, 6. Simon Spilak (SLO/KAT) 1:07, 7. Tejay Van Garderen (USA/BMC) 1:31, 8. Geraint Thomas (GBR/SKY) 1:36, 9. Wilco Kelderman (NED/LNL) 1:39, 10. Rui Costa (POR/LAM) 1:55, 11. Sergey Chernetsky (RUS/KAT) 4:44, 12. Gorka Izagirre (ESP/MOV) 5:00, 13. Vctor De la Parte (ESP/CCC) 5:32, 14. Darwin Atapuma (COL/BMC) 6:45, 15. Pawel Cieslik (POL/VAT) 7:49, 16. Jan Polanc (SLO/LAM) 8:11, 17. Tiesj Benoot (BEL/LOT) 9:06, 18. Sander Armee (BEL/LOT) 9:39, 19. Natnael Berhane (ERI/DDT) 10:41, 20. Vasil Kiryienka (BLR/SKY) 10:56