Nico Denz secured his first Grand Tour stage victory as he won stage 12 at the Giro d’Italia.
Just three seconds separated the front three as the German finished in front of Latvia’s Toms Skujins with Australian Sebastian Berwick third.
Britain’s Geraint Thomas retains a two-second lead in the overall standings.
It was an incident-free 185km stage following Wednesday’s crash, in which Britain’s Tao Geoghegan Hart sustained a fractured hip.
The pressure on the leaders will increase on Friday as the Giro enters the Alps for the first time this year.
Thursday’s stage opened in Bra, around 45km south of Turin, as riders observed a minute’s silence for the victims of devastating floods across the country.
For a stage which favours the breakaway group, it was not a brilliant start by early leaders Davide Formolo and Marco Frigo, who took a wrong turn on a roundabout.
Approaching the 8.3% climb of the Colle Braida, the trio of Denz, Skujins and Berwick dug deep to stay close to each other.
With 10km to go, Denz sped away, forcing Skujins to up the pace. Berwick initially struggled, but the trio were reunited heading into the narrow streets of Rivoli and the finish line.
Denz, 29, was less than a second ahead of Latvia’s Skujins but held his nerve to become the second German stage winner in two days.
Stage 12 results
- Nico Denz (Ger/Bora-Hansgrohe) 4hrs 18mins 11secs
- Toms Skujins (Lat/Trek-Segafredo) same time
- Sebastian Berwick (Aus/Israel-Premier Tech) +3secs
- Alessandro Tonelli (Ita/Green Project-Bardiani CSF-Faizane) +58secs
- Marco Frigo (Ita/Israel-Premier Tech) +2mins 7secs
- Ilan van Wilder (Bel/Soudal Quick-Step) +2mins 20ecs
- Alberto Bettiol (Ita/EF Education-Easypost) same time
- Christian Scaroni (Ita/Astana Qazaqstan Team)
- Michel Hessmann (Ger/Jumbo-Visma)
- Alex Baudin (Fra/AG2R-Citroen Team)
Overall classification
- Geraint Thomas (GB/Ineos Grenadiers) 49hrs 2mins 5secs
- Primoz Roglic (Slo/Jumbo-Visma) +2secs
- Joao Almeida (Por/UAE Team Emirates) +22secs
- Andreas Leknessund (Nor/Team DSM) +35secs
- Damiano Caruso (Ita/Bahrain Victorious) +1min 28secs
- Lennard Kamna (Ger/BORA-hansgrohe) +1min 52secs
- Edward Dunbar (Ire/Jayco-AIUla) +2mins 32secs
- Thymen Arensman (Ned/Ineos Grenadiers) same time
- Laurens De Plus (Bel/Ineos Grenadiers)
- Aurelien Paret-Peintre (Fra/AG2R – Citroen Team)