Ilnur Zakarin won stage 13 at the Giro d'Italia on Friday after then Katusha-Alpecin rider made a telling attack inside the final two kilometres of the 196km run from Pinerolo to Ceresole Reale.
Mitchelton-Scott rider Mikel Nieve finished as runner-up while fellow Spaniard Mikel Landa (Movistar) took third.
Jan Polanc retained the overall leader's pink jersey, but Primoz Roglic made ground with a late push which saw the Jumbo-Visma rider cross in seventh place.
Britain's Simon Yates (Mitchelton-Scott) again failed to make an impact on the general classification standings, finishing some five minutes behind the stage winner.
The Giro continues on Saturday with the131km run from Saint-Vincent to Courmayeur and concludes with a time trial in Verona on June 2.