Landa attacked Contador (Tinkoff-Saxo) and Steven Kruijswijk (LottoNL-Jumbo) on the final climb to Aprica, riding away over the final four kilometres to claim the stage victories and propel himself up the general classification.
His effort saw him move up to second overall, pushing his team-mate Fabio Aru to third after the Italian struggled on the major climbs.
The 16th stage of the Giro was another success story for Contador who almost doubled his lead to 4min 2sec over Landa. It was not plain sailing however, after Katusha launched an attack earlier in the stage when he punctured. Focused, he set about reeling back his rivals to ensure his lead would not be under threat when the race crossed the line in Aprica.
“It was a very hard day, an incredible stage. Cycling isn't mathematics: I had a puncture on the descent, Ivan Basso gave me a wheel, but ahead they were going at full speed, and it was impossible to close the gap immediately. It was hard for me, but I'm very happy with the time gaps now. I would have liked to have helped Steven Kruijswijk, but it was not to be. To Mikel Landa, I can only say: chapeau. These are the stages that people remember.” - Alberto Contador
There was no easing into the race for the peloton after the second rest day with 174km and five categorised climbs on the menu. Many riders chose to warm-up on the rollers before the start as the race began with the category two Campo Carlo Magno.
A group of 10 established themselves as the leaders of the race on the descent of the Campo Carlo Magno. The break had two and a half minutes on the Tinkoff-Saxo led peloton as they climbed category three slope to Aprica.
As the gap to the leaders reduced to 1min 30sec with 78km to go, former Giro winner Ryder Hesjedal (Cannondale-Garmin) attacked his breakaway companions and managed to establish a 31 second lead.
Katusha, riding in support of Yuri Trofimov who is sixth overall, came to the front over the peloton over the top of the Aprica. The trio took big risks on the descent on Aprica, forcing splits in the peloton with a couple of small crashes on the wet descent.
Contador, caught out by a puncture, found himself in the fourth group on the road, 40 seconds behind top rival Aru. Astana capitalised on the situation to put as much time between themselves and Contador as they could, with Contador left with only the support of one team-mate.
The efforts of Astana and Katusha saw Hesjedal caught three kilometres from the base of the Passo del Mortirolo. Contador was 51 seconds behind Aru at the beginning of the Mortirolo. The Spaniard worked hard over the following kilometres to close the gap, eventually managing to catch Aru and Landa midway up the 12 kilometres climb.
Moments before Contador caught them Steven Kruijswijk (LottoNL-Jumbo) had attacked. After a small respite period Contador rode off in pursuit of Kruijswijk.
It was evident that Aru was struggling on the climb, with Landa eventually making the decision to leave his team-mate and take up the mantle for Astana. The Basque rider was quick to bridge to Contador and Kruijswijk at the front of the race to form the trio who would ride the final 20 kilometres together until Landa attacked with four kilometres to go.
Over the top of the Mortirolo Aru was more 1min 49sec behind Contador. His effort was further hampered when a mechanical saw him require a bike change 18km from the finish. He eventually finished seventh, 2min 51sec down to drop to third overall.
“It was a really beautiful day for me, perhaps even better than Sunday. We saw that Alberto had a problem, and Katusha went full gas, so we worked with them. On the Mortirolo, Fabio Aru wasn't feeling good and he told me to go with Contador and Kruijswijk. Today I really proved that I can be one for the strongest riders on the climbs, and we still have several uphill finishes left. As a team, we will have to stick together and stay attentive, because what happened to Contador today could happen to one of us.” - Mikel Landa
Stage 16: 177km, Pinzolo - Aprica
1 Mikel Landa (ESP) Astana 5hr 02min 53sec
2 Steven Kruijswijk (NED) LottoNL-Jumbo 0:00:38
3 Alberto Contador (ESP) Tinkoff-Saxo
4 Yury Trofimov (RUS) Katusha 0:02:03
5 Andrey Amador (CRC) Movistar
6 Ryder Hesjedal (CAN) Cannondale-Garmin 0:02:10
7 Fabio Aru (ITA) Astana 0:02:51
8 Damiano Caruso (ITA) BMC Racing 0:03:18
9 Leopold Konig (CZE) Sky 0:03:19
10 Carlos Betancur (COL) AG2R La Mondiale
1 Alberto Contador (ESP) Tinkoff-Saxo 65hr 04min 59sec
2 Mikel Landa (ESP) Astana 0:04:02
3 Fabio Aru (ITA) Astana 0:04:52
4 Andrey Amador (CRC) Movistar 0:05:48
5 Yury Trofimov (RUS) Katusha 0:08:27
6 Leopold Konig (CZE) Sky 0:09:21
7 Damiano Caruso (ITA) BMC Racing 0:09:52
8 Steven Kruijswijk (NED) LottoNL-Jumbo 0:11:40
9 Alexandre Geniez (FRA) FDJ.fr 0:12:48
10 Ryder Hesjedal (CAN) Cannondale-Garmin 0:12:49