Mikel Landa took his second stage win of this year's Giro D'Italia on Tuesday but Alberto Contador produced a superb ride to finish third and extend his overall lead.