Nach dem Start in Andorra la Vella wurde der Zwergstaat bereits nach einem Kilometer in südlicher Richtung verlassen. Nun führte die Strecke leicht abfallend von La Seu d’Urgell nach Ponts. Auf der weiteren Fahrt Richtung Süden wurde Tàrrega durchfahren, ehe die Auffahrt auf die Alto de Belltall (798 m) in Angriff genommen wurde. Diese war zwar 9,3 Kilometer lang, wies jedoch nur eine Durchschnittsteigung von 3,7 % auf und wurde daher als Bergwertung der 3. Kategorie klassifiziert. Nachdem die Kuppe 53,8 Kilometer vor dem Ziel überquert worden war, folgte eine längere Abfahrt nach Montblanc. Kurz darauf begann die Straße erneut zu steigen und führte auf den Coll de Lilla (580 m), der ebenfalls als Bergwertung der 3. Kategorie klassifiziert worden war. Der Pass wurde 30,6 Kilometer vor dem Ziel passiert und die Strecke führte bergab nach Valls, wo nach zehn weiteren Kilometern der einzige Zwischensprint erfolgte, bei dem auch Zeitbonifikationen für das Gesamtklassement vergeben wurden. Die letzten 20 Kilometer führten leicht abschüssig zum Zielort Tarragona, wo sich das Ziel in der Nähe des Amphitheaters befand.[1]
Unmittelbar nach dem Start setzten sich mit Eduardo Sepúlveda (Lotto Dstny), Ander Okamika (Burgos-BH) und David González (Caja Rural-Seguros RGA) drei Fahrer von Hauptfeld ab. Das Trio fuhr einen maximalen Vorsprung von rund zweieinhalb Minuten heraus, während die Mannschaften DSM-Firmenich und Alpecin-Deceuninck die Nachführarbeit übernahmen. Bei der ersten Bergwertung der 3. Kategorie auf der Alto de Belltall setzte sich Eduardo Sepúlveda vor David González und Ander Okamika durch und übernahm somit die Führung in der Sonderwertung. Am Coll de Lilla holte Eduardo Sepúlveda erneut die meisten Punkte. Kurz darauf ließ sich der Argentinier vom Hauptfeld einholen, während Ander Okamika vor David González über den Zwischensprint führten. Dahinter sicherte sich Marijn van den Berg (EF Education-EasyPost) die meisten Punkte im Hauptfeld und holte sich zudem die letzten Bonussekunden. Nach dem Zwischensprint wurden auch die letzten beiden Ausreißer gestellt.
Rund vier Kilometer vor dem Ziel kam es zu einem Sturz in den auch Santiago Buitrago (Bahrain Victorious) und Bryan Coquard (Cofidis) involviert waren. Auf den letzten Metern versteuerte sich Marijn van den Berg an erster Position liegend in einer Linkskurve, wodurch das Feld in die Länge gezogen wurde. Sebastián Molano (UAE Team Emirates) eröffnete den Sprint früh, wurde jedoch auf den letzten Metern von Kaden Groves (Alpecin-Deceuninck) überholt, der seinen zweiten Vuelta a España-Etappensieg feierte. Platz drei ging an Edward Theuns (Lidl-Trek).
In der Gesamtwertung kam es zu keinen nennenswerten Veränderungen. Remco Evenepoel verteidigte das Rote Trikot und die Nachwuchswertung, musste die Führung in der Bergwertung jedoch an Eduardo Sepúlveda abgeben. Mit seinem Etappensieg übernahm Kaden Groves die Führung in der Punktewertung, während das Team Jumbo-Visma weiterhin die Mannschaftswertung anführte. Ander Okamika wurde zum kämpferischsten Fahrer gewählt. Alle 174 Starter erreichten das Ziel.[2][3]