Cette étape part de Laissac-Sévérac l'Église dans l'Aveyron, traverse le département de la Lozère et arrive au Puy-en-Velay en Haute-Loire après 189,5 kilomètres de course.
Elle comprend quatre difficultés comptant pour le classement de meilleur grimpeur. La première d'entre elles, la montée de Naves d'Aubrac, commence après vingt kilomètres de course, peu après Saint-Geniez-d'Olt-et-d'Aubrac. Classée en première catégorie, elle est longue de 8,9 km, pour une pente moyenne de 6,4 % et amène la course sur le plateau de l'Aubrac, à plus de 1 000 mètres d'altitude.
Douze kilomètres après cette montée, les coureurs abordent la côte de Vieurals, classée en troisième catégorie (3,3 km à 5,9 %). Le col d'Aubrac, au kilomètre 52, marque le passage en Lozère. Le sprint intermédiaire est placé à Saint-Alban-sur-Limagnole, à mi-course, au kilomètre 96.
Le parcours retrouve de l'altitude en passant par la Margeride, où il entre en Haute-Loire à l'Hospitalet du Sauvage. Il descend ensuite vers la vallée de l'Allier, longé de Saint-Arcons-d'Allier à Prades. Classé en première catégorie, l'ascension du col de Peyra Taillade sur 8,3 km, d'une pente moyenne de 7,4 %, présente une portion baptisée « mur de Saint-Bérain », 1,1 km à 14 %, dont un passage à 22 %. Cette côte a été « découverte » par le journaliste Pierre Chany, qui l'a suggérée à Thierry Cazeneuve et Charly Mottet lorsque ce dernier « [cherchait] un itinéraire pour arriver au Puy-en-Velay lors du Critérium du Dauphiné 1997 »[1],[2].
La descente qui mène au Puy-en-Velay passe par la dernière difficulté de la journée, la côte de Saint-Vidal, classée en quatrième catégorie[3],[4], à treize kilomètres de la ligne d'arrivée.
Dès le départ, Robert Kiserlovski lance un échappée en emmenant avec lui Damiano Caruso, Serge Pauwels, Marcus Burghardt, Tony Martin, Marcel Sieberg, le maillot à pois Warren Barguil, Luis Ángel Maté, Dylan van Baarle et Tsgabu Grmay. Tim Wellens abandonne au début de l'étape. Dans la montée de Naves d'Aubrac, Barguil imprime un rythme très élevé pour conquérir les points du classement de la montagne, il décroche tout le monde sauf Pauwels et Caruso, et élimine définitivement de l'échappée Burghardt et Sieberg. Il passe en tête au sommet de la montée de Naves d'Aubrac (km 28,5) et aussi au sommet de la côte de Vieurals (km 43,5)[5].
Un groupe de contre-attaque formé en plusieurs temps dans la montée de Naves d'Aubrac finit par rejoindre le groupe de tête au km 60 et forme ainsi un grand groupe à l'avant de 28 coureurs comprenant Jan Bakelants, Bauke Mollema, Damiano Caruso, Alessandro De Marchi, Amaël Moinard, Nicolas Roche, Kristijan Đurasek, Diego Ulissi, Thibaut Pinot, Serge Pauwels, Tony Martin, Robert Kiserlovski, Maurits Lammertink, Tiesj Benoot, Thomas de Gendt, Tony Gallopin, Warren Barguil, Michael Matthews, Simon Geschke, Luis Ángel Maté, Daniel Navarro, Primož Roglič, Lilian Calmejane, Romain Sicard, Dylan van Baarle, Tsgabu Grmay, Romain Hardy et Pierre-Luc Périchon. Au km 96, Michael Matthews remporte le sprint intermédiaire de Saint-Alban-sur-Limagnole et comble ainsi une partie de son retard sur Marcel Kittel, absent de l'échappée, dans le classement pour le maillot vert[5].
Dans le peloton, l'écart avec l'échappée est contrôlé par l'équipe Sky, il atteint 7 min 15 s au maximum à 75 km de l'arrivée. À 66 km de l'arrivée, Tony Martin sort du groupe à l'avant et se lance dans une échappée en solitaire semblable à celle qui lui avait permis de remporter l'étape de Mulhouse en 2014 mais il est repris dans la difficile montée du col de Peyra Taillade à 3 km du sommet. Dans la descente précédant le col de Peyra Taillade, l'équipe AG2R La Mondiale accélère en tête du peloton pour provoquer des cassures. Dans la montée du col de Peyra Taillade, le maillot jaune Chris Froome rencontre un problème mécanique qui l'oblige à s'arrêter, il parvient cependant à revenir à la hauteur de ses rivaux sur la fin de l'ascension avec l'aide de ses équipiers, dans un groupe qui comprend les dix premiers du classement général, à l'exception de Nairo Quintana lâché dans cette montée[5].
Barguil passe en tête au col de Peyra Taillade situé à 31,5 km de l'arrivée, suivi de près par Pauwels et Gallopin. Puis Mollema, Caruso, Ulissi, Pinot, Benoot et Roglič font leur retour formant ainsi un groupe de neuf coureurs à l'avant. À 25 km de l'arrivée, Mollema lance une attaque. Il prend une avance de 40 secondes qui retombe à 20 secondes au sommet de la côte de Saint-Vidal à 13 km de l'arrivée mais les quatre poursuivants Barguil, Roglic, Ulissi et Gallopin ne collaborent pas suffisamment pour combler leur retard et Mollema remporte ainsi l'étape en solitaire avec une vingtaine de secondes d'avance. Dans le groupe des favoris, Dan Martin se détache dans le final et passe de la 6e à la 5e place du classement général[5].