The Dutchman survived a punishing route to win his first-ever Tour de France stage. The yellow jersey remains with defending champion Chris Froome who made a remarkable recovery from technical issues.
The 189.5 km route from Laissac-Severac l'Eglise to Le Puy-en-Velay was perhaps one of the most demanding yet and came before the second rest day for the riders. The stage suits those who prepared in high-altitude given two-thirds of the race is above 1,000 meters.
The pace was set from around 60 km in by German rider Tony Martin, who made an audacious solo attack.
Within 10 minutes, the 32-year-old from Team Katusha–Alpecin had opened up a one-and-a-half minute lead over the chasing pack. The peloton was a further nine minutes behind the German in the first half of the race.
But Martin had run himself thin on the ground, with the efforts of Warren Barguil and Bauke Mollema neutralizing the German's early attack.
Col de Peyra Taillade, a category one hill with 40 km to go, was always going to define the race and this year, Martin dropped off, while early favorite Nairo Quintana was among the slowest riders.
Mollema, of Trek Factory Racing, beat Diego Ulissi and Frenchman Tony Gallopin to win his first stage at the Tour after finishing 11th in 2016.
Meanwhile, Chris Froome bounced back an early mechanical failure to pursue French rider Romain Bardet and hold on to the yellow jersey ahead of Italian Fabio Aru.