Mit Corbin Strong (Israel-Premier Tech) ging ein Fahrer nicht an den Start der 18. Etappe. Nachdem sich zunächst keine Ausreißergruppe bildete, konnten sich nach rund 40 Kilometern 41 Fahrer vom Hauptfeld absetzen. In der Gruppe waren (geordnet nach dem bestplatzierten Fahrer pro Team) folgende Mannschaften vertreten: Alexander Wlassow, Roger Adrià, Nico Denz (alle Red Bull–Bora–Hansgrohe), Steven Kruijswijk, Attila Valter (beide Visma-Lease a Bike), Mattia Cattaneo, Mauri Vansevenant, Casper Pedersen (alle Soudal Quick-Step), Max Poole, Chris Hamilton, Pavel Bittner, Tim Naberman (alle dsm-firmenich PostNL), Harold Tejada, Gianmarco Garofoli, Nikolas Winokurow (alle Astana Qazaqstan), Ion Izagirre, Jesús Herrada (beide Cofidis), Stefan Küng (Groupama-FDJ), Marc Soler, Brandon McNulty, Filippo Baroncini (alle UAE Team Emirates), Jhonatan Narváez, Kim Heiduk (beide Ineos Grenadiers), Simon Guglielmi, Mathis Le Berre (beide Arkéa-B&B Hotels), Urko Berrade, Pablo Castrillo, Pau Miquel, Unai Iribar (alle Kern Pharma), Mathias Vacek (Lidl-Trek), Mauro Schmid (Jayco AlUla), Jonas Gregaard, Arjen Livyns, Thomas De Gendt (alle Lotto Dstny), James Shaw, Owain Doull (beide EF Education-EasyPost), Oier Lazkano, Jorge Arcas (beide Movistar), Kaden Groves (Alpecin-Deceuninck), Nadav Raisberg, Riley Sheehan (beide Israel-Premier Tech) und Jasha Sütterlin (Bahrain Victorious). Der bestplatzierte Alexander Wlassow wies einen Rückstand von rund 24 Minuten auf die Spitze der Gesamtwertung.
Da kein Fahrer der Euskaltel-Euskadi-Mannschaft in der Fluchtgruppe vertreten war, übernahm das spanische Team die Nachführarbeit und leis den Vorsprung der Ausreißer nicht auf mehr als drei Minuten anwachsen. Im Anstieg der Alto de Rivas de Tereso reduzierten sie den Rückstand auf rund zwei Minuten, ehe Mikel Bizkarra und Gotzon Martín (beide Euskaltel-Euskadi) angriffen. Die beiden versuchten gemeinsam mit anderen Fahrern die Lücke zu der Spitzengruppe zu schließen, was ihnen jedoch nicht gelang. Während Marc Soler die erste Bergwertung des Tages gewann und somit fünf Punkte gegenüber seinem Teamkollegen Jay Vine (UAE Team Emirates) aufholte, kehrte im Peloton allmählich Ruhe ein und der Vorsprung der Spitzengruppe begann stetig anzuwachsen.
In der Abfahrt von der Alto de Rivas de Tereso forcierte Stefan Küng das Tempo in der Spitzengruppe und setzte sich wenig später gemeinsam mit Mathias Vacek und Mauro Schmid von ihren früheren Fluchtgefährten ab. Das Trio erreichte den Fuß des Puerto de Herrera mit einem Vorsprung von wenigen Sekunden, ehe es wenig später gestellt wurde. Zugleich fielen die ersten Fahrer aus der neuformierten Spitzengruppe zurück. Marc Soler gewann auch die zweite Bergwertung und übernahm somit die Führung in der Sonderwertung. Im Anstieg hatten nur elf Fahrer dem Spanier folgen können, wobei die Spitzengruppe auf den nachfolgenden Kilometern wieder etwas anwuchs. Rund 20 Kilometer vor dem Ziel verlieben mit Alexander Wlassow, Steven Kruijswijk, Mattia Cattaneo, Max Poole, Ion Izagirre, Stefan Küng, Marc Soler, Urko Berrade, Pablo Castrillo, Pau Miquel, Mathias Vacek, Mauro Schmid und Oier Lazkano noch 13 Fahrer an der Spitze des Rennens. Urko Berrade gewann den Zwischensprint in Villafría, ehe er einer Attacke von Steven Kruijswijk folgte und den Niederländer wenig später 5,6 Kilometer vor dem Ziel in einem kurzen Anstieg distanzierte. Der Spanier absolvierte den verbliebenen Kilometer als Solist, ehe er mit einem Vorsprung von vier Sekunden für den dritten Etappensieg der Equipo Kern Pharma sorgte. Dahinter sprinteten Mauro Schmid und Pau Miquel auf die weiteren Plätze, wobei letzterer zurückversetzt wurde und Max Poole den dritten Etappenrang zugeschrieben bekam.
Im Hauptfeld forcierte die EF Eduaction-EasyPost-Mannschaft das Tempo im Anstieg des Puerto de Herrera, wodurch das Hauptfeld zerfiel. Nachdem Mikel Landa (Soudal Quick-Step), Adam Yates (UAE Team Emirates) und Sepp Kuss (Visma-Lease a Bike) distanziert worden waren und nur noch zwölf Fahrer in der Gruppe um das Rote Trikot verblieben, griff Richard Carapaz (EF Education-EasyPost) mehr als 40 Kilometer vor dem Ziel an. Der Ecuadorianer konnte jedoch zunächst keine weitere Selektion herbeiführen. Nach einer Tempoverschärfung durch Carlos Rodríguez (Ineos Grenadiers) trat Richard Carapaz kurz vor der Passhöhe erneut an und setzte sich gemeinsam mit Primož Roglič, Florian Lipowitz (beide Red Bull–Bora–Hansgrohe), Enric Mas (Movistar) und David Gaudu (Groupama-FDJ) von den restlichen Gesamtklassement-Fahrern ab. Auch der gesamtführende Ben O’Connor (Decathlon AG2R La Mondiale) befand sich nun in einer abgehängten Gruppe, die einen Rückstand von nur wenigen Sekunden aufwies. Der Gesamtvierte Mikel Landa hingegen erreichte die Passhöhe mit einem Rückstand von mehr als einer halben Minute. In der anschließenden Abfahrt erhielt Richard Carapaz die Unterstützung von James Shaw und Owain Doull, die sich beide aus der Ausreißergruppe zurückfallen lassen hatten. Obwohl das Duo ein hohes Tempo anschlug, konnte die Gruppe um Ben O’Connor die Lücke rund 35 Kilometer vor dem Ziel schließen. Im Anschluss blieb das Tempo in der Gruppe hoch, wodurch Mikel Landa, der zunächst keine Unterstützung durch seine vor ihm fahrenden Teamkollegen erhielt, weiter an Zeit verlor. Die Gruppe um das Rote Trikot erreichte das Ziel mit einem Rückstand von sechs Minuten und 40 Sekunden gegenüber dem Etappensieger. Mikel Landa, Adam Yates und Sepp Kuss verloren schlussendlich drei Minuten und 20 Sekunden.
Ben O’Connor verteidigte seine Gesamtführung und lag weiterhin fünf Sekunden vor Primož Roglič. Dahinter folgte nach wie vor Enric Mas mit einem Rückstand von einer Minute und 25 Sekunden. Hinter Richard Carapaz rutschte Mikel Landa vom fünften auf den zehnten Gesamtrang ab, womit er nun mehr als fünfeinhalb Minuten zurücklag. Carlos Rodríguez verteidigte die Führung in der Nachwuchswertung und schob sich hinter David Gaudu auf den sechsten Gesamtrang. Marc Soler übernahm die Führung in der Bergwertung und lag nun einen Punkt vor seinem Teamkollegen Jay Vine. Weiters wurde der Spanier zum aktivsten Fahrer gewählt. In der Punktewertung verteidigte Kaden Groves seine Führung. Das UAE Team Emirates blieb an der Spitze der Mannschaftswertung, während mit Rein Taaramäe (Intermarché-Wanty) nur ein Starter nicht im Ziel ankam. Somit verblieben noch 139 Fahrer im Rennen.