This is the second time Spilak has won the Tour de Suisse following his success in 2015, and reinforces his claim to be one of the best week-long stage racers in the peloton - despite having never even having made the top-40 at a Grand Tour.
It was a remarkable day for BMC who managed to pull off a rare one-two-three, with Stefan Küng again finishing second to Dennis - just as he did in the opening time trial last week in Cham - and Damiano Caruso rounding off in third.
The ride from Caruso was, however, not enough to depose Spilak as overall winner, who gave no leeway to his rivals with fast postings at each time check, and ultimately finished fifth on the stage.
Caruso does secure his second overall ahead of Steven Kruijswijk (LottoNL-Jumbo), who, despite pushing the Italian close, ultimately finished sixth on the stage, seven seconds slower.
For stage winner Dennis, this could have been a ride that saw him compete for overall victory, were it not for the crash that ended his overall chances on stage two.
But the Australian will surely be pleased to come home from Switzerland with two stage wins in the bag.
One of the surprises of the day was the ride of Domenico Pozzovivo (Ag2r La Mondiale), who, despite his lightweight climber’s frame, and despite looking spent two days ago, posted the eighth quickest time of the day.
The ride was good enough to not just defend but extend his fourth place overall from Rui Costa (UAE Emirates), who prior to the stage would have been confident of deposing him.
The only other change in the top ten saw Ion Izagirre (Bahrain-Merida) move up two places to sixth overall and Marc Soler (Movistar) one place to eighth, and Mikel Nieve (Sky) fall two places to ninth and Mathias Frank (Ag2r La Mondiale) one place to seventh.
Tour de Suisse 2017 stage nine, Schaffhausen - Schaffhausen (28.6km ITT)
1 Rohan Dennis (Aus) BMC Racing Team, in 36-31
2 Stefan Küng (Swi) BMC Racing Team, at 29s
3 Damiano Caruso (Ita) BMC Racing Team, at 47s
4 Jon Izaguirre (Esp) Bahrain-Merida, at 51s
5 Simon Spilak (Slo) Katusha-Alpecin, st
6 Steven Kruijswijk (Ned) Team LottoNl-Jumbo, at 54s
7 Marc Soler (Spa) Movistar Team, at 58s
8 Domenico Pozzovivo (Ita) AG2R La Mondiale, at 1-00
9 Tejay Van Garderen (USA) BMC Racing Team, at 1-02
10 Patrick Bevin (NZl) Cannondale-Drapac, at 1-04
Final general classification
1 Simon Spilak (Slo) Katusha-Alpecin, in 28-37-11
2 Damiano Caruso (Ita) BMC Racing Team, at 48s
3 Steven Kruijswijk (Ned) Team LottoNl-Jumbo, at 1-08
4 Domenico Pozzovivo (Ita) AG2R La Mondiale, at 2-37
5 Rui Costa (Por) UAE Team Emirates, at 3-09
6 Ion Izagirre (Esp) Bahrain-Merida, at 3-51
7 Mathias Frank (Swi) AG2R La Mondiale, at 4-00
8 Marc Soler (Esp) Movistar Team, at 4-14
9 Mikel Nieve (Esp) Team Sky, at 4-47
10 Pello Bilbao (Esp) Astana Pro Team, at 5-30
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1
Stephen Puddicombe is a freelance journalist for Cycling Weekly, who regularly contributes to our World Tour racing coverage with race reports, news stories, interviews and features. Outside of cycling, he also enjoys writing about film and TV - but you won't find much of that content embedded into his CW articles.
CW LIVE: Team expected to sign Mark Cavendish, B & B Hotels finally collapse; Bahrain Victorious teases new kit; Chris Froome warns of the dangers of Covid-19; L39ion of Los Angeles announce 2023 roster and Primož Roglič on his return to fitness
All the news that's fit to print in the world of cycling
By Tom Thewlis • Published
Ask a cycling coach: 'How can I tell if I should ignore my power meter and just go on feel?'
Although a potent training tool, there's much more you should consider than just your finite watts
By James Spragg • Published