Partant du bord du Golfe de Gascogne à Liencres Playa, à une dizaine de kilomètres à l'ouest de la ville de Santander où les coureurs ont bénéficié la veille d'une journée de repos, cette courte (120,1 km) étape cantabrique présente un profil peu accidenté sur la grande majorité de son tracé. Mais, à la fin de l'étape, la route s'élève brusquement à partir de La Hermida pendant 4,8 km (col de 2e catégorie) avec une pente moyenne de 8,8 % dont une section à 14 % jusqu'à l'arrivée à Bejes.
Dès les premiers kilomètres de l'étape, un groupe de dix coureurs forme une échappée qui ne réussit pas à creuser un écart supérieur à 40 secondes. Cette première échappée est reprise après quarante kilomètres de course. À la mi-course (60 kilomètres), six hommes partent à l'attaque et creusent rapidement un écart d'une minute avec le peloton. Cette nouvelle échappée se compose de Mattia Cattaneo (Soudal Quick-Step), le maillot vert Kaden Groves (Alpecin-Deceuninck), Julius van den Berg (EF Edcuation-EasyPost), Nicolas Prodhomme (AG2R Citroën), Max Poole (DSM-Firmenich) et Joel Nicolau (Caja Rural-Seguros RGA). Après le sprint intermédiaire qu'il remporte, Groves se relève à 26 km du terme et laisse ses cinq compagnons d'échappée poursuivre leur effort alors que l'écart avec le peloton diminue. À 21 km de l'arrivée, c'est au tour de Cattaneo d'être distancé de ce groupe de tête devenu désormais un quatuor. Les quatre fuyards sont repris par le peloton à 10 km de l'arrivée.
Au pied de l'unique et ultime ascension de cette étape vers l'arrivée à Bejes, le peloton est groupé. Jonas Vingegaard (Jumbo-Visma) attaque à 4 km du sommet. Il est pris en chasse par Finn Fisher-Black (UAE Emirates) mais il augmente son avance et gagne l'étape. Sepp Kuss garde son maillot rouge avec un avantage réduit à 29 secondes sur Vingegaard.