Cette longue étape au départ de la Creuse en direction du Massif central présente un dénivelé de plus de 4 000 m et le franchissement de six cols répertoriés. Les 45 derniers kilomètres de l'étape s'élèvent davantage avec quatre ascensions rapprochées, et la dernière à 3 kilomètres de l'arrivée dans la station de sports d'hiver du Lioran.
Ben Healy est le dernier échappé à être repris par le groupe maillot jaune à 32 kilomètres de l'arrivée et 1 000 m du sommet du Puy Mary. 400 mètres plus loin, le maillot jaune Tadej Pogačar place une attaque et franchit le sommet avec 5 secondes d'avance sur Jonas Vingegaard, 14 sur Primož Roglič et 28 sur Remco Evenepoel. Dans la descente, Pogačar augmente son avantage alors que Roglič rejoint Vingegaard. Ensuite, Evenepoel et un petit groupe reviennent sur Roglič et Vingegaard au bas de cette descente. Pogačar aborde le col de Pertus avec un avantage de 35 secondes sur sept poursuivants. Vingegaard contre-attaque, dans un premier temps accompagné de Roglič, puis revient seul sur Pogačar en vue du sommet. Evenepoel qui a repris Roglič pointe au sommet à 45 secondes du duo de tête.
Dans la dernière ascension, le col de Fond de Cère, les positions restent inchangées : le duo Pogačar-Vingegaard passe au sommet avec 30 secondes d'avance sur le duo Evenepoel-Roglič. Dans la descente vers l'arrivée, Roglič chute sans gravité et passe la ligne trente secondes derrière le Belge, avant d'être crédité du même temps qu'Evenepoel[2]. À l'arrivée, Jonas Vingegaard l'emporte au sprint, une demi roue devant Tadej Pogačar. Remco Evenepoel prend la troisième place à 25 secondes du vainqueur[3].