Ostatni etap wyścigu, przebiegający wokół Nicei był krótki, ale bardzo intensywny, podobnie jak w ostatnich latach. 110 kilometrów ścigania, choć w niezbyt przyjemnej pogodzie, sprzyjało licznym atakom i odważnym akcjom. Jeszcze przed 40. kilometrem na czoło wysforowała się trójka kolarzy – Julian Alaphilippe (Quick-Step Floors) oraz dwójka z Astany, Omar Fraile i Jakob Fuglsang. Za nimi, z kolei, utworzył się około 20-osobowa grupa pościgowa, w której był m.in. lider wyścigu, Simon Yates i Roman Kreuziger (Mitchelton-Scott), Tim Wellens i Thomas de Gendt (Lotto Soudal), Marc Soler (Movistar), David de la Cruz i Sergio Henao (Team Sky) czy Dylan Teuns (BMC Racing Team).
Upadek Alaphilippa, przetasowania w czołówce i ataki z grupy pościgowej sprawiły, że podjazd pod Cote de Peille, na 34 kilometry przed metą, na czele rozpoczynała trójka Soler, de la Cruz i Fraile. Ich przewaga nad pogonią, w której był teraz lider wyścigu, Yates, wynosiła minutę. Przed nimi były jeszcze podjazdy pod Col d’Eze (na 83km) i Col des Quatre Chemins (na 101km), z którego do mety pozostało mniej niż 10 kilometrów.
Ostatnia wspinaczka była już okazją do ataków po zwycięstwo etapowe. Najwięcej sił zachował de la Cruz, zostawiając rywali za plecami na podjeździe, ale tuż przed szczytem dołączył do niego Soler, a na zjeździe straty odrobił Fraile i tym samym walka o zwycięstwo etapowe miała rozstrzygnąć się na finiszu. Za ich plecami, z kolei, zaciekle gonił Yates, który sam musiał dyktować tempo w grupce, po kolei dołączając do rywali, którzy zgubili go na podjeździe.
Jako pierwszy finisz rozpoczął Fraile, ale tuż przed kreską wyprzedził go de la Cruz, notując drugie z rzędu zwycięstwo w Nicei. Jadący w białej koszulce najlepszego młodzieżowca Soler nie liczył się w sprincie, ale walczył o każdą sekundę, mogącą dać mu zwycięstwo w całym wyścigu.
Grupka z Yatesem, a także z braćmi Izagirre, Ionem i Gorką, którzy do tej pory zajmowali drugie i trzecie miejsce, przyjechała na metę po 38 sekundach. Oznaczało to, że w klasyfikacji generalnej zwycięzcą został Soler, który o 4 sekundy wyprzedził Yatesa i o 14 Gorkę Izagirre.
Paweł Poljański (Bora-hansgrohe) przyjechał na metę na 44. miejscu, a w klasyfikacji generalnej był 29., natomiast Przemysław Kasperkiewicz (Delko Marseille Provence KTM) był jednym z wielu kolarzy, którzy nie ukończyli dzisiejszego etapu.
Wyniki 8. etapu:
- 1 David De La Cruz (Spa) Team Sky 2:53:06
- 2 Omar Fraile (Spa) Astana Pro Team
- 3 Marc Soler (Spa) Movistar Team 0:00:03
- 4 Patrick Konrad (Aut) Bora-Hansgrohe 0:00:38
- 5 Tim Wellens (Bel) Lotto Soudal
- 6 Simon Yates (GBr) Mitchelton-Scott
- 7 Dylan Teuns (Bel) BMC Racing Team
- 8 Richard Carapaz (Ecu) Movistar Team
- 9 Gorka Izagirre (Spa) Bahrain-Merida
- 10 Ion Izagirre (Spa) Bahrain-Merida
- 11 Alexis Vuillermoz (Fra) AG2R La Mondiale
- 12 Felix Grossschartner (Aut) Bora-Hansgrohe 0:00:55
- 13 Yves Lampaert (Bel) Quick-Step Floors 0:01:30
- 14 Michael Valgren (Den) Astana Pro Team
- 15 Jakob Fuglsang (Den) Astana Pro Team 0:02:45
- 16 Warren Barguil (Fra) Fortuneo-Samsic
- 17 Paul Martens (Ger) LottoNL-Jumbo 0:03:03
- 18 Oliver Naesen (Bel) AG2R La Mondiale 0:03:44
- 19 Rudy Molard (Fra) Groupama-FDJ
- 20 Sam Oomen (Ned) Team Sunweb
- 21 Pierre Rolland (Fra) EF Education First-Drapac p/b Cannondale
- 22 Sergio Henao (Col) Team Sky
- 23 Antonio Nibali (Ita) Bahrain-Merida 0:03:46
- 24 Matteo Trentin (Ita) Mitchelton-Scott
- 25 Ilnur Zakarin (Rus) Katusha-Alpecin 0:06:13
- 26 Jurgen Roelandts (Bel) BMC Racing Team 0:06:26
- 27 Jonathan Hivert (Fra) Direct Energie 0:08:32
- 28 Jesus Herrada (Spa) Cofidis, Solutions Credits
- 29 Mikael Cherel (Fra) AG2R La Mondiale 0:08:43
- 30 Tony Gallopin (Fra) AG2R La Mondiale
- 31 Christopher Juul Jensen (Den) Mitchelton-Scott 0:09:42
- 32 Hugo Houle (Can) Astana Pro Team 0:09:45
- 33 Imanol Erviti (Spa) Movistar Team 0:10:10
- 34 Roman Kreuziger (Cze) Mitchelton-Scott 0:12:56
- 35 Julian Alaphilippe (Fra) Quick-Step Floors 0:12:58
- 36 Lars Bak (Den) Lotto Soudal 0:13:51
- 37 Remy Di Gregorio (Fra) Delko Marseille Provence KTM 0:14:05
- 38 Thomas De Gendt (Bel) Lotto Soudal
- 39 Delio Fernandez Cruz (Spa) Delko Marseille Provence KTM
- 40 Sylvain Chavanel (Fra) Direct Energie
- 41 Benjamin King (USA) Dimension Data
- 42 Diego Rosa (Ita) Team Sky
- 43 Jose Herrada (Spa) Cofidis, Solutions Credits
- 44 Paweł Poljański (Pol) Bora-Hansgrohe
- 45 Nicolas Edet (Fra) Cofidis, Solutions Credits
- 46 Serge Pauwels (Bel) Dimension Data
- 47 Cyril Gautier (Fra) AG2R La Mondiale
- 48 Natnael Berhane (Eri) Dimension Data
- 49 Robert Gesink (Ned) LottoNL-Jumbo
- 50 Magnus Cort (Den) Astana Pro Team
- 51 Dylan van Baarle (Ned) Team Sky
- 52 Pierre Luc Perichon (Fra) Fortuneo-Samsic
- 53 Eduardo Sepulveda (Arg) Movistar Team
- 54 Amael Moinard (Fra) Fortuneo-Samsic
- 55 David Lopez Garcia (Spa) Team Sky
- 56 Luis León Sanchez (Spa) Astana Pro Team
- 57 Dayer Quintana (Col) Movistar Team
- 58 Sebastian Langeveld (Ned) EF Education First-Drapac p/b Cannondale
- 59 Alessandro De Marchi (Ita) BMC Racing Team 0:14:10
- 60 Bauke Mollema (Ned) Trek-Segafredo 0:19:11
- 61 Tiago Machado (Por) Katusha-Alpecin 0:21:50
- 62 Thomas Boudat (Fra) Direct Energie 0:23:42
- 63 Romain Combaud (Fra) Delko Marseille Provence KTM
- 64 Julien Bernard (Fra) Trek-Segafredo
- 65 Hector Carretero (Spa) Movistar Team
- 66 Carlos Barbero (Spa) Movistar Team
- 67 Jarlinson Pantano (Col) Trek-Segafredo
- 68 Michael Schwarzmann (Ger) Bora-Hansgrohe
- 69 Jay Thomson (RSA) Dimension Data 0:24:34
- 70 Ryan Gibbons (RSA) Dimension Data
- 71 Stijn Vandenbergh (Bel) AG2R La Mondiale 0:25:36
- 72 Ivan Garcia (Spa) Bahrain-Merida
- 73 Michael Mørkøv (Den) Quick-Step Floors
- 74 Markel Irizar (Spa) Trek-Segafredo
- 75 Axel Domont (Fra) AG2R La Mondiale
- 76 Gregory Rast (Swi) Trek-Segafredo
- 77 Roy Curvers (Ned) Team Sunweb
- 78 Pavel Kochetkov (Rus) Katusha-Alpecin
- DNF Ian Stannard (GBr) Team Sky
- DNF Sven Erik Bystrøm (Nor) UAE Team Emirates
- OOT Rory Sutherland (Aus) UAE Team Emirates
- DNF Manuele Boaro (Ita) Bahrain-Merida
- DNF Heinrich Haussler (Aus) Bahrain-Merida
- OOT Luka Pibernik (Slo) Bahrain-Merida
- DNF Tim Declercq (Bel) Quick-Step Floors
- DNS Dries Devenyns (Bel) Quick-Step Floors
- DNF Fabio Sabatini (Ita) Quick-Step Floors
- DNF Elia Viviani (Ita) Quick-Step Floors
- DNS Nils Politt (Ger) Katusha-Alpecin
- OOT Esteban Chaves (Col) Mitchelton-Scott
- DNS Alex Edmondson (Aus) Mitchelton-Scott
- OOT Mathew Hayman (Aus) Mitchelton-Scott
- DNF Jean-Pierre Drucker (Lux) BMC Racing Team
- DNF Simon Gerrans (Aus) BMC Racing Team
- DNF Nicolas Roche (Irl) BMC Racing Team
- DNF Jasper De Buyst (Bel) Lotto Soudal
- DNF André Greipel (Ger) Lotto Soudal
- DNF Marcel Sieberg (Ger) Lotto Soudal
- DNF Jelle Wallays (Bel) Lotto Soudal
- DNF Laurent Pichon (Fra) Fortuneo-Samsic
- DNF Timo Roosen (Ned) LottoNL-Jumbo
- DNF Louis Vervaeke (Bel) Team Sunweb
- DNS Christophe Laporte (Fra) Cofidis, Solutions Credits
- DNS Cyril Lemoine (Fra) Cofidis, Solutions Credits
- DNF Matti Breschel (Den) EF Education First-Drapac p/b Cannondale
- DNF Lawson Craddock (USA) EF Education First-Drapac p/b Cannondale
- DNF Mitchell Docker (Aus) EF Education First-Drapac p/b Cannondale
- DNF Tom Scully (NZl) EF Education First-Drapac p/b Cannondale
- DNF Erik Baska (Svk) Bora-Hansgrohe
- DNF Juraj Sagan (Svk) Bora-Hansgrohe
- DNF Lilian Calmejane (Fra) Direct Energie
- DNF Jerome Cousin (Fra) Direct Energie
- DNF Fabien Grellier (Fra) Direct Energie
- DNF Przemysław Kasperkiewicz (Pol) Delko Marseille Provence KTM
Klasyfikacja generalna po 8. etapie:
- 1 Marc Soler (Spa) Movistar Team 30:22:41
- 2 Simon Yates (GBr) Mitchelton-Scott 0:00:04
- 3 Gorka Izagirre (Spa) Bahrain-Merida 0:00:14
- 4 Ion Izagirre (Spa) Bahrain-Merida 0:00:16
- 5 Tim Wellens (Bel) Lotto Soudal
- 6 Dylan Teuns (Bel) BMC Racing Team 0:00:32
- 7 Patrick Konrad (Aut) Bora-Hansgrohe 0:00:44
- 8 Alexis Vuillermoz (Fra) AG2R La Mondiale 0:01:54
- 9 David De La Cruz (Spa) Team Sky 0:02:15
- 10 Felix Grossschartner (Aut) Bora-Hansgrohe 0:02:35
- 11 Richard Carapaz (Ecu) Movistar Team 0:03:47
- 12 Sergio Henao (Col) Team Sky 0:04:08
- 13 Sam Oomen (Ned) Team Sunweb 0:05:03
- 14 Jakob Fuglsang (Den) Astana Pro Team 0:05:51
- 15 Rudy Molard (Fra) Groupama-FDJ 0:08:16
- 16 Ilnur Zakarin (Rus) Katusha-Alpecin 0:11:35
- 17 Warren Barguil (Fra) Fortuneo-Samsic 0:12:45
- 18 Julian Alaphilippe (Fra) Quick-Step Floors 0:14:13
- 19 Roman Kreuziger (Cze) Mitchelton-Scott 0:14:53
- 20 Mikael Cherel (Fra) AG2R La Mondiale 0:16:14
- 21 Luis León Sanchez (Spa) Astana Pro Team 0:17:19
- 22 Remy Di Gregorio (Fra) Delko Marseille Provence KTM 0:20:15
- 23 Pierre Rolland (Fra) EF Education First-Drapac p/b Cannondale 0:22:09
- 24 Jose Herrada (Spa) Cofidis, Solutions Credits 0:22:36
- 25 Oliver Naesen (Bel) AG2R La Mondiale 0:22:59
- 26 Omar Fraile (Spa) Astana Pro Team 0:24:25
- 27 Cyril Gautier (Fra) AG2R La Mondiale 0:24:47
- 28 Tony Gallopin (Fra) AG2R La Mondiale 0:28:04
- 29 Paweł Poljański (Pol) Bora-Hansgrohe 0:29:13
- 30 Bauke Mollema (Ned) Trek-Segafredo 0:29:47
- 31 Michael Valgren (Den) Astana Pro Team 0:31:15
- 32 Matteo Trentin (Ita) Mitchelton-Scott 0:33:01
- 33 Diego Rosa (Ita) Team Sky 0:36:08
- 34 Natnael Berhane (Eri) Dimension Data 0:37:50
- 35 Jurgen Roelandts (Bel) BMC Racing Team 0:37:51
- 36 Alessandro De Marchi (Ita) BMC Racing Team 0:38:07
- 37 Delio Fernandez Cruz (Spa) Delko Marseille Provence KTM 0:38:31
- 38 Robert Gesink (Ned) LottoNL-Jumbo 0:38:35
- 39 Jarlinson Pantano (Col) Trek-Segafredo 0:40:59
- 40 Yves Lampaert (Bel) Quick-Step Floors 0:41:07
- 41 Jonathan Hivert (Fra) Direct Energie 0:43:18
- 42 Nicolas Edet (Fra) Cofidis, Solutions Credits 0:44:04
- 43 Jesus Herrada (Spa) Cofidis, Solutions Credits 0:44:31
- 44 Imanol Erviti (Spa) Movistar Team 0:45:25
- 45 Benjamin King (USA) Dimension Data 0:45:36
- 46 Julien Bernard (Fra) Trek-Segafredo 0:46:03
- 47 Christopher Juul Jensen (Den) Mitchelton-Scott 0:47:41
- 48 Eduardo Sepulveda (Arg) Movistar Team 0:47:52
- 49 Serge Pauwels (Bel) Dimension Data 0:48:43
- 50 Antonio Nibali (Ita) Bahrain-Merida 0:51:20
- 51 Tiago Machado (Por) Katusha-Alpecin 0:52:15
- 52 Magnus Cort (Den) Astana Pro Team 0:52:49
- 53 Romain Combaud (Fra) Delko Marseille Provence KTM 0:53:58
- 54 Paul Martens (Ger) LottoNL-Jumbo 0:55:52
- 55 Amael Moinard (Fra) Fortuneo-Samsic 0:57:40
- 56 Sylvain Chavanel (Fra) Direct Energie 0:59:41
- 57 Hugo Houle (Can) Astana Pro Team 1:00:27
- 58 Sebastian Langeveld (Ned) EF Education First-Drapac p/b Cannondale 1:02:07
- 59 Hector Carretero (Spa) Movistar Team 1:04:59
- 60 Dayer Quintana (Col) Movistar Team 1:05:15
- 61 Axel Domont (Fra) AG2R La Mondiale 1:06:09
- 62 Ivan Garcia (Spa) Bahrain-Merida 1:08:41
- 63 Pierre Luc Perichon (Fra) Fortuneo-Samsic 1:08:54
- 64 David Lopez Garcia (Spa) Team Sky 1:09:32
- 65 Thomas De Gendt (Bel) Lotto Soudal 1:10:49
- 66 Carlos Barbero (Spa) Movistar Team 1:11:03
- 67 Pavel Kochetkov (Rus) Katusha-Alpecin 1:13:02
- 68 Gregory Rast (Swi) Trek-Segafredo 1:13:27
- 69 Dylan van Baarle (Ned) Team Sky 1:14:11
- 70 Thomas Boudat (Fra) Direct Energie 1:16:06
- 71 Stijn Vandenbergh (Bel) AG2R La Mondiale 1:16:44
- 72 Roy Curvers (Ned) Team Sunweb 1:19:07
- 73 Ryan Gibbons (RSA) Dimension Data 1:22:21
- 74 Lars Bak (Den) Lotto Soudal 1:23:52
- 75 Michael Schwarzmann (Ger) Bora-Hansgrohe 1:27:31
- 76 Markel Irizar (Spa) Trek-Segafredo 1:28:41
- 77 Jay Thomson (RSA) Dimension Data 1:36:14
- 78 Michael Mørkøv (Den) Quick-Step Floors 1:37:11