Germany's Nico Denz, right, staved off Latvia's Toms Skujiņš, left, to win the 12th stage of the Giro d'Italia ©Getty Images

Nico Denz made it back-to-back stage victories for German riders on the Giro d'Italia with his maiden Grand Tour triumph from a breakaway in Rivoli.

The 185-kilometre 12th stage began in the town of Bra with a minute's silence to remember the victims of the Emilia-Romagna floods in north-western Italy.

Bora-Hansgrohe rider Denz followed his compatriot Pascal Ackermann of UAE Team Emirates from yesterday in claiming a stage victory, but there was no change in the general classification with Britain's Geraint Thomas holding the maglia rosa for a third day.

The stage featured a hilly opening 50km and the Colle Braida inside the final 30km - a 9.8km climb at an average gradient of 7.1 per cent.

It was expected to be a day favouring the breakaway, with general classification contenders opting to play safe before a key day of mountain racing tomorrow.

A breakaway of 30 riders was reduced to five with around 95km remaining.

Italy's Samuele Battistella of Astana Qazaqstan Team had his hopes ended as he vomited on the bike, and compatriot Alessandro Tonelli of Green Project-Bardiani-CSF-Faizanè was dropped on the Colle Braida climb.

That left a three-way battle between Denz, Latvia's Toms Skujiņš of Trek-Segafredo and Australia's Sebastian Berwick of Israel-Premier Tech.

Britain's Geraint Thomas continues to hold an overall lead going into tomorrow's tough 13th stage ©Getty Images
Britain's Geraint Thomas continues to hold an overall lead going into tomorrow's tough 13th stage ©Getty Images

It was the German rider who held his nerve to pip Skujiņš to victory in 4 hours 18min 11sec, with Berwick three seconds adrift.

Ineos Grenadiers rider Thomas finished safely in the peloton at 8min 19sec off the pace, along with closest challenger Primož Roglič of Slovenia and Team Jumbo-Visma who is just two seconds behind him in the overall standings.

Portugal's João Almeida of UAE Team Emirates, the leading young rider, completes the podium at 22 seconds adrift, 12 seconds clear of Norway's Andreas Leknessund of Team DSM.

Italy's Jonathan Milan continues to top the points classification for Team Bahrain Victorious by 14 points ahead of Denmark's Mads Pedersen of Trek-Segafredo, and another home favourite in Davide Bais leads the mountains classification.

Tomorrow's 199km 13th stage is expected to be a challenging day in the Alps, starting in Borgofranco d’Ivrea and finishing with a third sharp climb up to Crans-Montana in Switzerland.

More than 5,000 metres of climbing features as part of the stage.