Bardet won stage 12 of the Tour de France, with an acceleration near the finishing line in Peyragudes in the French Pyrenees, going clear with less than 500 meters to go to take his third stage win in as many years.