Dans l'ascension du col du Galibier (17,7 km à 6,9 %, hors catégorie), Roglič, Pogačar et Vingegaard s'attaquent mutuellement, tandis que Thomas reste dans les roues. Derrière, un groupe composé des principaux outsiders à la victoire finale maintient un retard aux alentours de trente secondes, avant de revenir à mi ascension. Auteur d'une excellente saison, Warren Barguil s'isole à six kilomètres du sommet ; derrière, Wout van Aert ne lâche rien, lui qui espère aider son équipe dans la longue transition entre le sommet du Galibier et le pied du Granon. À cinquante kilomètres de l'arrivée, Jonas Vingegaard et Tadej Pogačar se retrouvent un temps esseulés, avant d'être de nouveau repris. Au sommet, Warren Barguil passe en tête avec cinquante-trois secondes sur Simon Geschke, une minute et vingt-quatre secondes sur Pierre Latour et une minute et trente-trois secondes sur Wout van Aert. Chez les favoris, le trio Bardet - Pogačar - Vingegaard bascule avec quatre minutes et vingt-six secondes de retard ; derrière, Geraint Thomas, le BritanniqueAdam Yates (INEOS Grenadiers) et le ColombienNairo Quintana (Arkéa-Samsic) ne perdent que quelques secondes.
Warren Barguil entame l'ascension finale du col du Granon (11,3 km à 9,2 % de pente moyenne) avec 2 minutes et 15 secondes d'avance sur le trio Geschke, Latour et Teuns et 4 minutes et 30 secondes sur le groupe Pogačar. Mais Barguil et ses plus proches poursuivants perdent rapidement leur avance. À 9 km du sommet, le Colombien Nairo Quintana attaque dans le groupe maillot jaune et creuse un écart, cette accélération étant fatale à Pidcock, Gaudu, Roglic et Vlasov, distancés du groupe maillot jaune. À 5 km du sommet, Romain Bardet place une accélération dans le groupe maillot jaune et part à l'attaque. Pendant ce temps, Quintana dépasse son équipier Barguil et se retrouve seul en tête. À 4,5 km du sommet, c'est au tour de Vingegaard de placer une attaque. Pogačar ne peut le suivre malgré l'aide de son dernier équipier Rafał Majka. Vingegaard, bien en rythme, rattrape et dépasse Bardet puis Quintana et fait désormais la course en tête en augmentant régulièrement son avance sur ses adversaires. Il franchit la ligne d'arrivée en vainqueur devant Quintana et Bardet et laisse Pogačar, en difficulté, à presque trois minutes. Le coureur danois s'empare du maillot jaune.