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:
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
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