Cette étape de moyenne montagne comprend cinq ascensions situées dans la seconde moitié de l'étape. Après franchi trois cols de 3e catégorie, les coureurs grimpent deux fois l'Alto del Vivero, un col de 2e catégorie de 4,6 km avec une pente moyenne de 8 %. Le premier passage de ce col se situe à 43 km du terme et le second passage est franchi à 14 km de l'arrivée à Bilbao, située au bas de la descente.
Pendant la première partie de l'étape, plusieurs échappées se forment et essaient de distancer le peloton mais sans y parvenir. La bonne échappée se forme enfin après 90 kilomètres.de course. Elle se compose de dix-huit hommes. Le peloton emmené par les équipiers Jumbo-Visma du maillot rouge Primož Roglič laisse les fuyards augmenter régulièrement leur avance. À 30 km du terme, l'échappée compte encore quinze unités et une avance de quatre minutes. Dans la seconde ascension de l'Alto del Vivaro, le Britannique Jake Stewart (Groupama FDJ) lâche ses compagnons d'échappée mais est repris et dépassé par l'Espagnol Marc Soler (UAE Emirates) qui franchit ce col seul en tête. Il résiste de justesse au retour des poursuivants réduits à dix et gagne l'étape. Membre de l'échappée et arrivé quatrième à Bilbao, le Français Rudy Molard (Groupama FDJ) s'empare du maillot rouge. Les favoris pour le classement général se neutralisent en restant dans le peloton qui concède plus de cinq minutes aux échappés.
Le Monégasque Victor Langellotti prend la tête du classement du maillot de meilleur grimpeur et devient le premier coureur monégasque à porter un maillot distinctif sur un grand tour.
En s'imposant, Marc Soler met fin à une période de 668 jours sans victoire espagnole sur une étape d'un grand tour[1].