Vincenzo Nibali (Astana) was one of many to take the race to the surprise maglia rosa holder but found himself dropped on the final climb to lose 1-47 seconds on the day.
>> Struggling to get to the shops? Try 6 issues of Cycling Weekly magazine for just £6 delivered to your door <<
The attacks started early in the day with Nibali, Valverde, Zakarin and other general classification hopefuls looking to isolate Kruijswijk. A real breakaway couldn’t get away thanks to the intensity at the front of the peloton.
Who is Steven Kruijswijk?
Zakarin was particularly active on the first climb, briefly getting away with Nibali’s teammate Tanel Kangert, but Kruijswijk smothered everything thrown at him.
Nibali made the biggest attack of the day, sprinting away on the first climb, distancing second-placed Esteban Chaves (Orica-GreenEdge) but not Kruijswijk and the others.
On the second big climb of the day Kruijswijk himself sped off the front, joined by Valverde and Zakarin – a trio who virtually team time trialled to the line to distance Nibali and Chaves.
Behind them, Nibali cracked on the sharp ascent with 10km to go while Chaves tried to get back in contention with the leading three riders.
Valverde won the stage in a sprint against Kruijswijk, who finished second for the third stage in a row to extend his lead over Chaves to three minutes. Valverde leapfrogged Nibali into third and sits an extra 23 seconds back.
Giro d’Italia stage 16, Bressanone – Brixen Andalo (132km)
1. Alejandro Valverde (Esp) Movistar, 2-58-54
2. Steven Kruijswijk (Ned) LottoNL-Jumbo, st
3. Ilnur Zakarin (Rus) Katusha, at 8s
4. Diego Ulissi (Ita) Lampre-Merida, at 37s
5. Bob Jungels (Lux) Etixx-Quick Step, st
6. David Lopez (Esp) Team Sky, at 38s
7. Sergey Forsanov (Rus) Gazprom-Rusvel, st
8. Esteban Chaves (Col) Orica-GreenEdge, at 42s
9. Rafal Majka (Pol) Tinkoff, at 50s
10. Domenico Pozzovivo (Ita) Ag2r La Mondiale, at 1-47
Overall standings after stage 16
1. Steven Kruijswijk (Ned) LottoNL-Jumbo, 63-40-10
2. Esteban Chaves (Col) Orica-GreenEdge, at 3-00
3. Alejandro Valverde (Esp) Movistar, at 3-23
4. Vincenzo Nibali (Ita) Astana, at 4-43
5. Ilnur Zakarin (Rus) Katusha, at 4-50
6. Rafal Majka (Pol) Tinkoff, at 5-34
7. Bob Jungels (Lux) Etixx-Quick Step, at 7-57
8. Andrey Amador (Crc) Movistar, at 8-53
9. Domenico Pozzovivo (Ita) Ag2r La Mondiale, at 10-05
10. Kanstantin Siutsou (Blr) Dimension Data, at 11-03