It had looked like he might take the stage win as he crested the final climb on his own, but a regrouping saw him sprint to fourth on the finish line. Jarlinson Pantano (IAM Cycling) was the quickest on the day, and was clearly ecstatic with the stage win.
Despite the time bonuses, those ahead of the Astana man on the day were sufficiently far behind on the GC.
A frenetic and exciting stage, thanks in no small part to its short length, it was entertaining to watch but clearly took its toll on many of the riders.
Three men went up the road almost from the flag. Max Richeze (Etixx-Quick Step), Jasper Stuyven (Trek-Segafredo) and Magnus Cort Nielsen (Orica-GreenEdge) set off together but could not seriously have had the stage win in mind.
Richeze rolled through the intermediate sprint uncontested, gaining enough points to wrap up that competition. The Italian was already in possession of the black points jersey, but had it hidden under a rain jacket from the start of the stage.
Other riders looked at each others and some considered chasing, but once the three leaders started working together they were away.
After a lull in proceedings, a second group tried to form ahead of the peloton 41.5km from the finish, but was ultimately unsuccessful and the GC teams massed at the front.
At the foot of the final climb of the race, the three leaders held an advantage of 50 seconds. This rapidly began to fall as riders at the front of the peloton discarded their bottles and set a hard tempo for their team leaders.
The small breakaway group slit into single riders and Richeze was the first to be caught with 29km left to race. Stuyven pushed on but his chance of staying away were always next to none.
The peloton had the young Belgian in its sights for several minutes before he was passed 27.2km from the stage end. An injection of pace from David Lopez (Team Sky) brought the peloton up to Stuyven, with the Basque riding away in the hope of a stage win.
BMC Racing thought better of allowing Astana to set the agenda and Darwin Atapuma came to the fore with his leader Tejay van Garderen on his wheel. The immediate effect was that race leader Lopez slipped back through the group, but looked relatively comfortable.
It’s unclear what the original plan had been, but van Garderen appeared to sit up and let his teammate go on up the road, followed but several others. None of this impacted on D. Lopez’s lead on the stage.
D.Lopez’s solo efforts were over with 23km to go on the stage as Hubert Dupont (ag2r La Mondiale) passed him. Lopez took his wheel but could not go with the acceleration.
Geraint Thomas‘s (Team Sky) forgettable week suffered a further setback when it became clear that he wasn’t present in the contenders’ group.
Concerned about his overall advantage, race leader Lopez jumped across to a threatening lead group that had passed Dupont but isolated himself from teammates in the process.
Costa and Spilak were soon found wanting and a very comfortable looking van Garderen set the pace for the lead group, which held 19 seconds over the chasers.
Clearly in mind that attack is the best form of defence, Lopez rode his companions off his wheel with 19.2km to go in ever worsening weather.
Taking the summit of the climb with a newly added rain jacket and a lead of 34 seconds, Lopez hit the descent solo. A further 10-15 seconds back was Andrew Talansky (Cannondale) who started the day in second place, eight seconds down on the leader.
Lopez was caught on the flatter roads around 8km from the finish, his overall win just about assured as he took up his place in the new five-man lead group with Pantano, van Garderen, Ion Izaguirre (Movistar) and Sergei Chernetskiy (Katusha).
Behind, Warren Barguil (Giant-Alpecin) and Costa turned themselves inside out to get back on terms with the leaders but despite reducing the gap never fully closed it until the final sprint kicked off.
Pantano launched first in the finishing funnel and even a concerted effort Chernetskiy could not stop the IAM rider from taking the stage win.
Fourth on the stage was enough for Lopez to seal the overall.
Tour de Suisse 2016: Stage nine, La Punt to Davos Losters
1. Jarlinson Pantano (Col) IAM Cycling at 1-23-55
2. Sergei Chernetskiy (Rus) Katusha, st
3. Ion Izaguirre (Spa) Movistar, st
4. Miguel Angel Lopez (Col) Astana, st
5. Tejay van Garderen (USA) BMC Racing, st
6. Rui Costa (Por) Lampre-Merida, st
7. Warren Barguil (Fra) Giant-Alpecin, st
8. Andrew Talansky (USA) Cannondale, at 56s
9. Victor de la Parte (Esp) CCC–Sprandi–Polkowice, st
10. Joe Dombrowski (USA) Cannondale, st
Tour de Suisse 2016 final general classification
1. Miguel Angel Lopez (Col) Astana, at 30-55-58
2. Ion Izaguirre (Spa) Movistar, at 12s
3. Warren Barguil (Fra) Giant-Alpecin, at 18s
4. Jarlinson Pantano (Col) IAM Cycling at 42s
5. Andrew Talansky (USA) Cannondale, at 1-04
6. Tejay van Garderen (USA) BMC Racing, at 1-26
7. Rui Costa (Por) Lampre-Merida, at 2-09
8. Wilco Kelderman (Ned) LottoNL-Jumbo, at 2-38
9. Simon Spilak (Slo) Katusha, at 2-48
10. Sergei Chernetskiy (Rus) Katusha, at 5-08