Team Sky’s Geraint Thomas finished fourth on stage three to move into the overall lead of the Tirreno-Adriatico.
Primoz Roglic, of LottoNL-Jumbo, attacked late on for victory on the steep uphill finish in Trevi, but the Slovenian lies 34th overall.
Britain’s Adam Yates is 22nd after finishing second, three seconds behind, while Belgium’s Tiesj Benoot was third.
Four-time Tour de France champion Chris Froome is up to third overall, three seconds down on fellow Briton Thomas.
Belgium’s Greg van Avermaet is second on the same time as Welshman Thomas, who is ahead on stage placings following the 239km stage from Follonica.
Team Sky led the peloton into the final five kilometres of the longest stage of the race, which ended in a tough finishing loop on Friday.
Roglic caught his rivals off guard into the last kilometre, with only Michelton-Scott rider Yates looking likely to pull him back, but he could not close in time.
Strade Bianche winner Benoot continued his fine form to finish three seconds after Yates as Thomas crossed a second further back to claim the blue leader’s jersey.
Saturday’s stage four takes the race 219km from Foligno to a tough summit finish at Sarnano Sassotetto. The seven-stage race concludes on Tuesday.
Tirreno-Adriatico stage three result
1. Primoz Roglic (Slo/LottoNL-Jumbo) 6hrs 17mins 23secs
2. Adam Yates (GB/Michelton-Scott) +3secs
3. Tiesj Benoot (Bel/Lotto-Soudal) +6secs
4. Geraint Thomas (GB/Team Sky) +7secs
5. Rigoberto Uran (Col/EF Education First-Drapac) +10secs
6. Mikel Landa (Spa/Movistar) same time
7. Gianni Moscon (Ita/Team Sky)
8. Romain Bardet (Fra/AG2R-La Mondiale)
9. Wilco Kelderman (Ned/Team Sunweb)
10. Bob Jungels (Lux/Quick-Step Floors)
1. Geraint Thomas (GB/Team Sky) 10hrs 52mins 22secs
2. Greg van Avermaet (Bel/BMC) same time
3. Chris Froome (GB/Team Sky) +3secs
4. Damiano Caruso (Ita/BMC) +8secs
5. Michal Kwiatkowski (Pol/Team Sky) +9secs
6. Bob Jungels (Lux/Quick-Step Floors) same time
7. Wilco Kelderman (Ned/Team Sunweb) +19secs
8. Davide Formolo (Ita/Bora-Hansgrohe) +30secs
9. Tom Dumoulin (Ned/Team Sunweb) +33secs
10. Rigoberto Uran (Col/EF Education First-Drapac) +39secs