L'équipe Garmin-Sharp passe à l'offensive dès le début de l'étape, avec Jack Bauer et David Millar. Ces coureurs sont repris et plusieurs autres attaques se succèdent, mais la formation Sky imprime un rythme soutenu dans le Col de Portet-d'Aspet. Arnold Jeannesson (FDJ.fr) passe en tête au col suivi de Daniel Martin (Garmin-Sharp). Un groupe de 14 coureurs s'échappe, comprenant entre autres trois Garmin-Sharp, Martin, Thomas Danielson, Ryder Hesjedal mais également le Français Pierre Rolland (Europcar). Ces coureurs entament l'ascension vers le col de Menté, obligeant la Sky à rouler en tête du peloton, provoquant un gros écrémage. Les coureurs de la Movistar prennent le relais de la Sky et lâchent tous les coéquipiers du maillot jaune Christopher Froome. Danielson passe en tête au col de Menté.
Cinq coureurs réussissent ensuite à s'échapper et à creuser un léger écart sur le peloton du maillot jaune. Le groupe à l'avant est composé de Thomas De Gendt (Vacansoleil-DCM), Bart De Clercq (Lotto-Belisol), Romain Bardet (AG2R La Mondiale), Hesjedal et Rolland. Dans le col de Peyresourde, la Movistar continue de rouler à l'avant du peloton afin de garder à distance les coéquipiers de Froome et en particulier le deuxième du classement général Richie Porte. Au col, le Belge De Gendt passe le premier.
Jan Bakelants (RadioShack-Leopard) et Simon Clarke (Orica-GreenEDGE) intègrent le groupe de tête. Clarke se détache du groupe et passe en tête au col de Val Louron-Azet, mais est repris dans la descente par Bardet, Rolland et De Clercq. Ces quatre coureurs attaquent le col de la Hourquette d'Ancizan avec une vingtaine de secondes d'avance sur le peloton des leaders. Bardet part seul dans la montée mais ne peut résister au rythme mené par la Movistar. L'Irlandais Martin attaque, suivi du Danois Jakob Fuglsang (Astana). Ces deux coureurs creusent rapidement un écart sur le peloton, secoué par quelques accélérations de Nairo Quintana (Movistar), Froome répondant à chaque fois. Martin passe en tête à la Houquette d'Ancizan, le peloton est à 45 secondes. Dans la descente jusqu'à l'arrivée vers Bagnères-de-Bigorre, les deux coureurs à l'avant résistent au retour du peloton. Martin s'impose au sprint devant Fuglsang, le peloton réglé par Michał Kwiatkowski arrive avec 20 secondes de retard. Froome conserve le maillot jaune. Porte est le seul perdant de la journée, rejoignant l'arrivée avec 18 minutes et 30 secondes de retard sur le vainqueur.