Remco Evenepoel beat Geraint Thomas by just one second to win the stage nine individual time trial and retake the overall lead of the Giro d’Italia.
The Belgian covered the 35km course in 41 minutes 24 seconds to edge out Britain’s Thomas on the line in Cesena.
Thomas’ Ineos Grenadiers team-mate and former winner Tao Geoghegan Hart was third, two seconds down on Evenepoel.
Evenepoel’s second time trial win of the race saw him regain the leader’s pink jersey off Andreas Leknessund.
Welshman Thomas has overtaken Primoz Roglic to go second in the general classification, 45 seconds back on pre-race favourite Evenepoel and two seconds ahead of Slovenia’s Roglic, who finished sixth on stage.
“That was close. It was good to be in the mix with Tao. It looks promising,” said Thomas.
Geoghegan Hart, who won the 2020 edition, is fourth overall, three seconds back on Roglic.
Norway’s Leknessund was 19th on the stage and has dropped to sixth overall.
World road race champion Evenepoel, 23, said he struggled in the wind and rain despite claiming victory.
“I started too fast and suffered a little midway, but I got my legs back in the end,” said the Soudal Quick-Step rider, who won the time trial on stage one before losing the leader’s jersey on stage four.
“It’s not the best result, but I won even if it wasn’t a top performance.”
There is a rest day on Monday before the race resumes with a hilly 196km route from Scandiano to Viareggio on Tuesday.
Stage nine results
- Remco Evenepoel (Bel/Soudal Quick-Step) 41mins 24secs
- Geraint Thomas (GB/Ineos Grenadiers) +1sec
- Tao Geoghegan Hart (GB/Ineos Grenadiers) +2secs
- Stefan Kung (Sui/Groupama-FDJ) +4secs
- Bruno Armirail (Fra/Groupama-FDJ) +8secs
- Primoz Roglic (Slo/Jumbo-Visma) +17secs
- Thymen Arensman (Ned/Ineos Grenadiers) +24secs
- Aleksandr Vlasov (Neutral/Bora-Hansgrohe) +30secs
- Joao Almeida (Por/UAE Team Emirates) +35secs
- Damiano Caruso (Ita/Bahrain Victorious) +42secs
General classification after stage nine
- Remco Evenepoel (Bel/Soudal Quick-Step) 34hrs 33mins 42secs
- Geraint Thomas (GB/Ineos Grenadiers) +45secs
- Primoz Roglic (Slo/Jumbo-Visma) +47secs
- Tao Geoghegan Hart (GB/Ineos Grenadiers) +50 secs
- Joao Almeida (Por/UAE Team Emirates) +1min 7secs
- Andreas Leknessund (Nor/Team DSM) Same time
- Aleksandr Vlasov (Neutral/Bora-Hansgrohe) +1min 48secs
- Damiano Caruso (Ita/Bahrain Victorious) +2mins 13secs
- Lennard Kämna (Ger/Bora-Hansgrohe) +2mins 37secs
- Pavel Sivakov (Fra/Ineos Grenadiers) + 2mins 58secs