Miguel Angel Lopez claimed victory at the Tour de Suisse as his fellow Colombian Jarlinson Pantano won a final stage shortened by bad weather.
Astana rider Lopez, 22, moved into the lead by coming second in Saturday's time-trial, and held on to the yellow jersey by finishing fourth on Sunday.
Spain's Ion Izaguirre was second overall, 12 seconds behind Lopez, with France's Warren Barguil in third.
Team Sky's Geraint Thomas was the highest-placed Briton in 17th overall.
Tour of Switzerland 2016 - stage nine result
1. Jarlinson Pantano (Col/IAM) 1hr 23mins 55secs
2. Sergei Chernetskiy (Rus/Katusha) "
3. Ion Izaguirre (Spa/Movistar) "
4. Miguel Angel Lopez (Col/Astana) "
5. Tejay van Garderen (USA/BMC ) "
6. Rui Costa (Por/Lampre-Merida) "
7. Warren Barguil (Fra/Giant-Alpecin) "
8. Andrew Talansky (USA/Cannondale) +56secs
9. Victor de la Parte (Esp/CCC-Sprandi-Polkowice) "
10. Joe Dombrowski (USA/Cannondale) "
1. Miguel Angel Lopez (Col/Astana) 30hrs 55mins 58secs
2. Ion Izaguirre (Spa/Movistar) +12secs
3. Warren Barguil (Fra/Giant-Alpecin) +18secs
4. Jarlinson Pantano (Col/IAM Cycling) +42secs
5. Andrew Talansky (USA/Cannondale) +1min 04secs
6. Tejay van Garderen (USA/BMC) +1min 26secs
7. Rui Costa (Por/Lampre-Merida) +2mins 09secs
8. Wilco Kelderman (Ned/LottoNL-Jumbo) +2mins 38secs
9. Simon Spilak (Slo/Katusha) +2mins 48secs
10. Sergei Chernetskiy (Rus/Katusha) +5mins 08secs
17. Geraint Thomas (GBR/ Team Sky) +12mins 31secs