Alaphilippe odniósł swoje drugie w tym wyścigu zwycięstwo etapowe po tym, jak atakował na finałowym podjeździe - Col du Portillon – a na zjeździe do mety minął prowadzącego Adama Yatesa (Mitchelton-Scott) i nie dał się już dognić, meldując się samotnie na mecie.
Uciekinierzy po starcie nie próżnowali i od razu zaczęli atakować, choć bezskutecznie. Dodatkowo, peleton został zatrzymany na 29 kilometrze etapu, a ściganie zneutralizowane na jakiś czas po tym, jak policja musiała użyć gazu łzawiącego przeciw protestującym rolnikom, a dostało się także niektórym kolarzom. Po wznowieniu ścigania ataki nie ustawały, ale żaden z nich nie przetrwał. W jednej z ucieczek był także Rafał Majka (Bora-hansgrohe), ale jego akcja też została skasowana. Dopiero po 100 kilometrach grupa 47 kolarzy zdołała oderwać się od peletonu. Był to dopiero półmetek etapu z Carcassonne do Bagneres-de-Luchon i przed kolarzami jeszcze trzy podjazdy 2. i 1. kategorii. Dwa pierwsze przetrzebiły grupę uciekinierów, a na ostatnim z nich zaatakował Adam Yates (Mitchelton-Scott). Brytyjczyk szczyt Col du Portillon minął z przewagą 18 sekund nad jadącym w koszulce w grochy Julianem Alaphilippem (Quick-Step Floors). Przez kilka kilometrów utrzymywali dystans między sobą, ale na 6 kilometrów przed metą Yates upadł i stracił całą przewagę a Francuz minął go i pomknął do mety.
Alaphilippe, niesiony dopingiem miejscowych kibiców, pojechał po swoje drugie zwycięstwo w tegorocznym Tour de France. Drugi był Gorka Izagirre (Bahrain-Merida), a trzeci Yates.
Peleton na metę przyjechał ze stratą prawie 9 minut, prowadzony po raz kolejny przez Michała Kwiatkowskiego (Team Sky). Prowadzenie w wyścigu zachował jego kolega z ekipy, Geraint Thomas.
Wyniki 16. etapu:
1 Julian Alaphilippe (Fra) Quick-Step Floors 5:13:22
2 Gorka Izagirre (Spa) Bahrain-Merida 0:00:15
3 Adam Yates (GBr) Mitchelton-Scott
4 Bauke Mollema (Ned) Trek-Segafredo
5 Domenico Pozzovivo (Ita) Bahrain-Merida 0:00:18
6 Robert Gesink (Ned) LottoNL-Jumbo 0:00:37
7 Michael Valgren (Den) Astana Pro Team 0:00:56
8 Gregor Mühlberger (Aut) Bora-Hansgrohe
9 Marc Soler (Spa) Movistar Team 0:01:10
10 Pierre Latour (Fra) AG2R La Mondiale 0:01:18
Klasyfikacja generalna po 16. etapie:
1 Geraint Thomas (GBr) Team Sky 68:12:01
2 Chris Froome (GBr) Team Sky 0:01:39
3 Tom Dumoulin (Ned) Team Sunweb 0:01:50
4 Primoz Roglic (Slo) LottoNL-Jumbo 0:02:38
5 Romain Bardet (Fra) AG2R La Mondiale 0:03:21
6 Mikel Landa (Spa) Movistar Team 0:03:42
7 Steven Kruijswijk (Ned) LottoNL-Jumbo 0:03:57
8 Nairo Quintana (Col) Movistar Team 0:04:23
9 Jakob Fuglsang (Den) Astana Pro Team 0:06:14
10 Daniel Martin (Irl) UAE Team Emirates 0:06:54