Na ostatnim etapie, z Alcorcon do Madrytu, kolarze tradycyjnie świętowali, a ściganie rozpoczęło się dopiero w stolicy Hiszpanii. Wcześniej jednak Igor Anton (Dimension Data), który ogłosił zakończenie kariery, dostąpił zaszczytu wprowadzenia peletonu na rundy i pożegnania się z kibicami. Chwilę po przekroczeniu linii mety po raz pierwszy, zaatakowali harcownicy.
Ataków było sporo, jednak żaden nie dotrwał do mety. Ekipy Quick-Step Floors, Bora-hansgrohe czy Groupama FDJ, prowadzili peleton, dyktując mocne tempo. Ostatni z uciekinierów zostali wchłonięci na 7 kilometrów przed metą, przed rozpoczęciem ostatniego okrążenia.
Choć etap był typowo sprinterski i ekipy sprinterów kontrolowały ostatnie kilometry, to jednak na finałowej prostej pociągi rozjechały się i faworyci musieli radzić sobie samemu. Mimo braku rozprowadzania, Viviani zdołał wyjść zza pleców rywali i lewą stroną szosy pomknął po zwycięstwo, trzecie w tegorocznym wyścigu. Za nim finiszował Peter Sagan (Bora-hansgrohe) i Giacomo Nizzolo (Trek-Segafredo).
Bezpiecznie w peletonie finiszował zwycięzca, Yates, a także dwaj kolarze z podium – Enric Mas (Quick-Step Floors) i Miguel Angel Lopez (Astana). 13. miejsce zajął Majka, a 41. był Michał Kwiatkowski (Team Sky).
Wyniki 21. etapu:
Klasyfikacja generalna po 21. etapie: