Alejandro Valverde sprinted to his first Giro d'Italia stage victory in Andalo as race leader Steven Kruijswijk finished second to stretch his advantage to three minutes on Tuesday.
Valverde predicted a tough battle for the Maglia Rosa in the final week and the Spaniard was braced for a gruelling stage 16 following a rest day.
The Movistar rider put a difficult day in the Dolomites on Saturday behind him by finishing third in the individual time trial a day later and followed that up by claiming his maiden Giro stage win ahead of Kruijswijk.
Dutchman Kruijswijk strengthened his grip on the famous pink leader's jersey by fending off every break on the 132-kilometre route from Bressanone to cross the line just behind Valverde - finishing second for the third stage in a row.
Lotto NL - Jumbo's Kruijswijk led by two minutes and 12 seconds after finishing second in the time trial and had another productive day as rivals Esteban Chaves (Orica-GreenEDGE) and Vincenzo Nibali (Astana) lost ground.
While Kruijswijk and Valverde were fighting it out for the stage win to make a statement in the final week, Chaves could only finish back in eighth. Nibali is four minutes and 43 seconds off the pace after being dropped on the final climb to come home 11th.
Valverde's exploits enabled him to move above 2014 Tour de France winner Nibali and into third place in the general classification with three minutes and 23 seconds to make up on Kruijswijk.
Ilnur Zakarin finished third after he also failed to shake off Kruijswijk, who responded to everything that was thrown at him on an intriguing day.