Adam Yates (Mitchelton-SCOTT) rode away from the leading group on Tirreno-Adriatico Stage 5 to claim victory in Filottrano - as the race paid tribute to Michele Scarponi.
Yates attacked with four kilometres to go and was too strong for chasers Geraint Thomas (Team Sky) and Alexey Lutsenko (Astana Pro Team).
The 25-year-old opened up a decisive gap with his impressive uphill attack, and had plenty of time to sit up and celebrate as he rolled over the finish line.
Team Sky's Michał Kwiatkowski finished third on the stage, and took over the GC lead from Damiano Caruso (BMC Racing Team) with two stages remaining.
Filottrano, in the Province of Ancona, is the hometown of the late Michele Scarponi. The Astana Pro Team rider was tragically killed in a training accident last April and Sunday's stage was a tribute to him by the race organisers.
After two incredibly tough stages on Friday and Saturday, there was no let-up for the riders on Stage 5, that was expected to be a good one for the Classics specialists.
Here we compare data for Caruso, who began the day in the lead, and Stage 4 winner Mikel Landa (Movistar Team) on the Montelupone climb - which came after 50km of racing:
After dropping out of GC contention, Primož Roglič is still riding strongly for his Team LottoNL-Jumbo team-mate George Bennett. The former ski jumper averages 325 watts on the Castelfidardo ascent:
Tiesj Benoot of Lotto Soudal has been in stellar form lately - he won Strade Bianche last Saturday, his first win in the professional ranks.
He produces some big numbers on the Filottrano climb, on both ascents:
And the young Belgian produces a huge final effort in the sprint as he places fourth on the stage, with a one-minute peak power of 940 watts.
Yates was too far ahead for the rest of the field, but only Kwiatkowski and Peter Sagan (BORA-hansgrohe) can beat him in the sprint for second.
Yates' stage victory came soon after a thrilling conclusion to Paris-Nice, where his brother Simon narrowly missed out on the overall win.
With Team Sky's Kwiatkowski now in pole position at Tirreno-Adriatico, he will aim to wrap up his second stage race success of the season, following his earlier win at Volta ao Algarve.