Na enkele kilometers was er een ontsnapping met Michał Kwiatkowski, Lieuwe Westra, Edvald Boasson Hagen en Bob Jungels. Op de flanken van de Côte de Loucrup kwam alles weer samen. Na de Loucrup was André Greipel in een tweede peloton geraakt. Terugkomen kostte hem veel krachten, waardoor hij slechts negende werd in de tussensprint in Pouzac. Peter Sagan nam de groene trui weer over. Hierna regende het aanvallen. Onder meer Romain Bardet en Thibaut Pinot probeerden weg te komen, maar zij kregen geen ruimte van het peloton. Hierna probeerde een groep van zes renners het: Daniel Teklehaimanot, Mikaël Cherel, Laurens ten Dam, Jacques Janse van Rensburg, Alexis Vuillermoz en Steve Morabito. Ook zij werden weer ingerekend door het peloton.
Na de Côte de Mauvezin ontstond een nieuwe kopgroep met Thomas Voeckler, Rafał Majka, Serge Pauwels, Emanuel Buchmann en Steve Morabito. Julien Simon en Arnaud Démare gingen in de tegenaanval, en sloten uiteindelijk aan, zodat er een kopgroep van zeven renners ontstond. Toen het zevental een voorsprong van vier minuten had op het peloton, probeerden ook Daniel Martin en Andrij Hryvko de kloof te dichten. Dit lukte uiteindelijk alleen Martin.
Op de Col d'Aspin moest Démare meteen lossen uit de kopgroep. Daniel Martin kon daar juist aansluiten bij de kopgroep, die op dat moment opnieuw zeven renners telde. In het peloton moesten intussen verschillende renners lossen, waaronder Romain Bardet. Tijdens de afdaling van de Col d'Aspin kon Démare weer terugkeren in de kopgroep.
Op de Col du Tourmalet volgde hetzelfde verhaal als op de Col d'Aspin: Démare moest meteen lossen uit de kopgroep. In het peloton verzeilden Thibaut Pinot en Michał Kwiatkowski in een tweede groep. Ook Jean-Christophe Péraud, Alexis Vuillermoz, Warren Barguil, Joaquim Rodríguez, Andrew Talansky en Wilco Kelderman moesten snel lossen. Vooraan besloot Rafał Majka er alleen vandoor te gaan. Achter Majka verbrokkelde de kopgroep: Pauwels probeerde solo bij Majka te komen, maar dit lukte uiteindelijk niet. Buchmann en Martin volgden daarachter samen.
Majka won de etappe en droeg zijn zege op aan zijn ploeggenoot Ivan Basso, die de Ronde van Frankrijk eerder moest verlaten omdat bij hem teelbalkanker was geconstateerd.
De mannen uit de top van het klassement bleven bij elkaar in een groep die werd aangevoerd door de ploeg van geletruidrager Chris Froome. Op de slotklim lukte het Bauke Mollema nog wel om tijd te pakken op Vincenzo Nibali, waardoor de Nederlander de tiende plek in het klassement overnam van de Italiaan.