Peter Sagan of Slovakia claimed his second stage victory of the 2017 Tour de Suisse today ©Tour de Suisse

Peter Sagan of Slovakia claimed his second stage victory of the 2017 Tour de Suisse with another exceptional sprint performance on the eighth and penultimate stage of the event.

The Bora-Hansgrohe rider won the 100 kilometre circuit around Schaffhausen in a time of 2 hours, 12min and 50sec.

The two-time world road race champion was perfectly poised with just 200 metres remaining and decided to make a late break for the line, edging Italy's Sacha Modolo.

Modolo, of UAE Team Emirates, finished in second place with another Italian, Matteo Trentin of Quick-Step Floors, completing the top three.

Sagan also won a sprint finish on the fifth stage on June 14.

"It was a good day and I'm very happy," said Sagan.

"My team did a great job trying to control the stage and I'm really happy with my second win at the race."

Simon Spilak retained his overall race lead ©Tour de Suisse
Simon Spilak retained his overall race lead ©Tour de Suisse

Despite Sagan's victory, Slovenia's Simon Spilak still holds the lead in the general classification.

After finishing safely in the pack, the Katusha-Alpecin rider has a lead of 52 seconds with just one stage remaining.

BMC Racing's Damiano Caruso of Italy trails behind in second.

Steven Kruijswijk occupies third with the Dutch member of LottoNl-Jumbo 1:05 off the leader.

The International Cycling Union World Tour race will conclude tomorrow.

The field will contest a time-trial of 28.6km, which will start and finish in Schaffhausen.