Sagan do etapu przystępował z dwusekundową stratą do Alaphilippa i jasne było, że o zwycięstwie w klasyfikacji generalnej przesądzą bonifikaty czasowe na lotnej premii i na mecie w Pasadenie. Słowak był zdecydowanie lepszym sprinterem, ale Alaphilippe miał sprzymierzeńca w postaci Marka Cavendisha, który już trzykrotnie okazał się lepszy od Sagana na finiszu.
Pierwsza odsłona walki o koszulkę lidera rozegrała się na lotnej premii, gdzie wszyscy trzej kolarze walczyli o sekundy. Wygrał Cavnedish przed Saganem i Alaphilippem, co oznaczało, że Sagan dzięki dwóm sekundom bonifikaty – wobec sekundy dla Alaphilippa, odrobił już połowę strat i na finiszu musiał zająć co najmniej trzecie miejsce.
Wszelkie ucieczki na trasie były kasowane przez Sagana i jego kolegów i o zwycięstwie miał przesądzić finisz na mecie. Tam po raz kolejny bezkonkurencyjny okazał się Cavendish, odnosząc czwarte zwycięstwo w wyścigu, ale prawdziwa walka rozegrała się za jego plecami. Po drugie miejsce sięgnął Wouter Wippert (Drapac Professional Cycling), natomiast bój o trzecie stoczyli Sagan i Tyler Farrar (MTN-Qhubeka). Lepszy o milimetry, co wykazał dopiero fotofinisz, okazał się Sagan, dzięki czemu sięgnął po 4 sekundy bonifikaty i w ostatecznym rozrachunku wyprzedził Alaphilippa o 3 sekundy. Trzecie miejsce w klasyfikacji generalnej wywalczył Sergio Henao (Team Sky).
Wyniki 8. etapu:
- 1 Mark Cavendish (GBr) Etixx - Quick-Step 2:14:55
- 2 Wouter Wippert (Ned) Drapac
- 3 Peter Sagan (Svk) Tinkoff-Saxo
- 4 Tyler Farrar (USA) MTN - Qhubeka
- 5 Tom Van Asbroeck (Bel) Team LottoNL-Jumbo
- 6 Lucas Sebastian Haedo (Arg) Jamis - Hagens Berman
- 7 Zico Waeytens (Bel) Team Giant-Alpecin
- 8 Andrea Peron (Ita) Team Novo Nordisk
- 9 Logan Owen (USA) Axeon Cycling Team
- 10 Martijn Verschoor (Ned) Team Novo Nordisk
- 11 Daniel Oss (Ita) BMC Racing Team
- 12 Julian Alaphilippe (Fra) Etixx - Quick-Step
- 13 John Murphy (USA) UnitedHealthcare Pro Cycling
- 14 Jempy Drucker (Lux) BMC Racing Team
- 15 Danny van Poppel (Ned) TrekRacing
- 16 Mike Teunissen (Ned) Team LottoNL-Jumbo
- 17 Robin Carpenter (USA) Hincapie Racing Team
- 18 Ben King (USA) Cannondale-Garmin Pro Cycling Team
- 19 Jure Kocjan (Slo) Team SmartStop
- 20 Fred Rodriguez (USA) Jelly Belly p/b Maxxis
- 21 Ruben Guerreiro (Por) Axeon Cycling Team
- 22 Dion Smith (NZl) Hincapie Racing Team
- 23 Charles Planet (Fra) Team Novo Nordisk
- 24 Justin Oien (USA) Axeon Cycling Team
- 25 Robert Gesink (Ned) Team LottoNL-Jumbo
- 26 Daniel Summerhill (USA) UnitedHealthcare Pro Cycling
- 27 Manuel Senni (Ita) BMC Racing Team
- 28 Dennis van Winden (Ned) Team LottoNL-Jumbo
- 29 Eric Marcotte (USA) Team SmartStop
- 30 Tao Geoghegan Hart (GBr) Axeon Cycling Team
- 31 Edward King (USA) Cannondale-Garmin Pro Cycling Team
- 32 Phillip Gaimon (USA) Optum p/b Kelly Benefit Strategies
- 33 Christian Knees (Ger) Team Sky
- 34 Jay McCarthy (Aus) Tinkoff-Saxo
- 35 Joseph Lloyd Dombrowski (USA) Cannondale-Garmin Pro Cycling Team
- 36 Joey Rosskopf (USA) BMC Racing Team
- 37 Haimar Zubeldia Aguirre (Spa) TrekRacing
- 38 Ben Hermans (Bel) BMC Racing Team
- 39 Matthew Brammeier (Irl) MTN - Qhubeka
- 40 Carter Jones (USA) Team Giant-Alpecin
- 41 Roy Curvers (Ned) Team Giant-Alpecin
- 42 Rob Britton (Can) Team SmartStop
- 43 Mark Renshaw (Aus) Etixx - Quick-Step
- 44 Alex Howes (USA) Cannondale-Garmin Pro Cycling Team
- 45 Janez Brajkovic (Slo) UnitedHealthcare Pro Cycling
- 46 Daniele Bennati (Ita) Tinkoff-Saxo
- 47 Gerald Ciolek (Ger) MTN - Qhubeka
- 48 Yves Lampaert (Bel) Etixx - Quick-Step
- 49 Riccardo Zoidl (Aut) TrekRacing
- 50 Daniel Teklehaimanot (Eri) MTN - Qhubeka
- 51 Lachlan Norris (Aus) Drapac
- 52 Daniel Alexander Jaramillo Diez (Col) Jamis - Hagens Berman
- 53 Matti Breschel (Den) Tinkoff-Saxo
- 54 Sep Vanmarcke (Bel) Team LottoNL-Jumbo
- 55 Michael Mørkøv (Den) Tinkoff-Saxo
- 56 Ruben Zepuntke (Ger) Cannondale-Garmin Pro Cycling Team
- 57 Peter Kennaugh (GBr) Team Sky
- 58 Ian Boswell (USA) Team Sky
- 59 Jordan Kerby (Aus) Drapac
- 60 Danilo Wyss (Swi) BMC Racing Team
- 61 Luis Romero Amaran (Cub) Jamis - Hagens Berman
- 62 James Oram (NZl) Axeon Cycling Team
- 63 Philip Deignan (Irl) Team Sky
- 64 Martin Velits (Svk) Etixx - Quick-Step
- 65 Stephen Leece (USA) Jamis - Hagens Berman
- 66 Koen de Kort (Ned) Team Giant-Alpecin
- 67 Chris Butler (USA) Team SmartStop
- 68 Jesus Hernandez Blazquez (Spa) Tinkoff-Saxo
- 69 Jasper Stuyven (Bel) TrekRacing
- 70 Joseph Schmalz (USA) Hincapie Racing Team
- 71 Michael Schär (Swi) BMC Racing Team
- 72 Sergio Luis Henao Montoya (Col) Team Sky
- 73 Xabier Zandio Echaide (Spa) Team Sky
- 74 Michael Woods (Can) Optum p/b Kelly Benefit Strategies
- 75 Kiel Reijnen (USA) UnitedHealthcare Pro Cycling
- 76 Kevin De Mesmaeker (Bel) Team Novo Nordisk
- 77 Guillaume Van Keirsbulck (Bel) Etixx - Quick-Step
- 78 Laurens ten Dam (Ned) Team LottoNL-Jumbo
- 79 Alexandr Braico (Mda) Jelly Belly p/b Maxxis
- 80 Gregory Obando Brenes (Crc) Jamis - Hagens Berman
- 81 Lasse Norman Hansen (Den) Cannondale-Garmin Pro Cycling Team
- 82 Evan Huffman (USA) Team SmartStop
- 83 Gavin Mannion (USA) Jelly Belly p/b Maxxis
- 84 Andzs Flaksis (Lat) Hincapie Racing Team 0:00:11
- 85 Stijn Vandenbergh (Bel) Etixx - Quick-Step 0:00:13
- 86 Matteo Trentin (Ita) Etixx - Quick-Step 0:00:14
- 87 Stijn Devolder (Bel) TrekRacing
- 88 Travis Meyer (Aus) Drapac 0:00:19
- 89 Gregory Daniel (USA) Axeon Cycling Team
- 90 Markel Irizar Aranburu (Spa) TrekRacing
- 91 Graeme Brown (Aus) Drapac
- 92 Toms Skujins (Lat) Hincapie Racing Team 0:00:23
- 93 Tom Zirbel (USA) Optum p/b Kelly Benefit Strategies
- 94 Jacob Rathe (USA) Jelly Belly p/b Maxxis
- 95 Maarten Wynants (Bel) Team LottoNL-Jumbo
- 96 Geoffrey Curran (USA) Axeon Cycling Team
- 97 Daniel Eaton (USA) Axeon Cycling Team
- 98 William Clarke (Aus) Drapac 0:00:25
- 99 Joseph Lewis (Aus) Hincapie Racing Team
- 100 Nathan Earle (Aus) Team Sky
- 101 Martin Kohler (Swi) Drapac
- 102 Lawson Craddock (USA) Team Giant-Alpecin
- 103 Steve Fisher (USA) Jelly Belly p/b Maxxis
- 104 Laurent Didier (Lux) TrekRacing
- 105 Darren Lapthorne (Aus) Drapac
- 106 Danny Pate (USA) Team Sky
- 107 Jonathan Clarke (Aus) UnitedHealthcare Pro Cycling
- 108 Javier Megias Leal (Spa) Team Novo Nordisk
- 109 Jacques Janse van Rensburg (RSA) MTN - Qhubeka 0:00:34
- 110 Tanner Putt (USA) UnitedHealthcare Pro Cycling 0:00:45
- 111 Daniele Ratto (Ita) UnitedHealthcare Pro Cycling
- 112 Thierry Hupond (Fra) Team Giant-Alpecin
- 113 Lachlan Morton (Aus) Jelly Belly p/b Maxxis 0:00:48
- 114 David Lozano Riba (Spa) Team Novo Nordisk 0:01:55
- 115 Matthew Busche (USA) TrekRacing 0:02:16
- 116 Matthew Harley Goss (Aus) MTN - Qhubeka 0:02:17
- 117 Campbell Flakemore (Aus) BMC Racing Team
- 118 Johann Van Zyl (RSA) MTN - Qhubeka 0:02:36
- 119 Jos van Emden (Ned) Team LottoNL-Jumbo
- 120 Jesse Anthony (USA) Optum p/b Kelly Benefit Strategies 0:03:47
- 121 Oscar Clark (USA) Hincapie Racing Team
- DNF Jonathan Freter (USA) Jelly Belly p/b Maxxis
- DNF Nicolae Tanovitchii (Mda) Jelly Belly p/b Maxxis
- DNF Will Routley (Can) Optum p/b Kelly Benefit Strategies
- DNF Carson Miller (USA) Jamis - Hagens Berman
- DNF David Williams (USA) Jamis - Hagens Berman
- DNF Guillaume Boivin (Can) Optum p/b Kelly Benefit Strategies
- DNF Joonas Henttala (Fin) Team Novo Nordisk
- DNF Travis McCabe (USA) Team SmartStop
Klasyfikacja generalna po 8. etapie:
- 1 Peter Sagan (Svk) Tinkoff-Saxo 28:13:12
- 2 Julian Alaphilippe (Fra) Etixx - Quick-Step 0:00:03
- 3 Sergio Luis Henao Montoya (Col) Team Sky 0:00:37
- 4 Joseph Lloyd Dombrowski (USA) Cannondale-Garmin Pro Cycling Team 0:01:14
- 5 Robert Gesink (Ned) Team LottoNL-Jumbo 0:01:15
- 6 Haimar Zubeldia Aguirre (Spa) TrekRacing 0:01:16
- 7 Ian Boswell (USA) Team Sky 0:01:23
- 8 Riccardo Zoidl (Aut) TrekRacing 0:01:24
- 9 Peter Kennaugh (GBr) Team Sky 0:01:44
- 10 Rob Britton (Can) Team SmartStop 0:02:10
- 11 Lachlan Norris (Aus) Drapac 0:02:19
- 12 Ben Hermans (Bel) BMC Racing Team 0:02:21
- 13 Tao Geoghegan Hart (GBr) Axeon Cycling Team 0:02:36
- 14 Phillip Gaimon (USA) Optum p/b Kelly Benefit Strategies 0:02:53
- 15 Jay McCarthy (Aus) Tinkoff-Saxo 0:03:16
- 16 Carter Jones (USA) Team Giant-Alpecin 0:03:23
- 17 Ben King (USA) Cannondale-Garmin Pro Cycling Team 0:03:40
- 18 Danilo Wyss (Swi) BMC Racing Team 0:04:10
- 19 Manuel Senni (Ita) BMC Racing Team 0:04:46
- 20 Janez Brajkovic (Slo) UnitedHealthcare Pro Cycling 0:04:48
- 21 Dion Smith (NZl) Hincapie Racing Team 0:04:55
- 22 Daniel Alexander Jaramillo Diez (Col) Jamis - Hagens Berman 0:05:08
- 23 Joey Rosskopf (USA) BMC Racing Team 0:05:41
- 24 Matthew Busche (USA) TrekRacing 0:07:48
- 25 Michael Schär (Swi) BMC Racing Team 0:07:49
- 26 Christian Knees (Ger) Team Sky 0:08:37
- 27 Laurens ten Dam (Ned) Team LottoNL-Jumbo 0:09:23
- 28 Lawson Craddock (USA) Team Giant-Alpecin 0:09:38
- 29 Philip Deignan (Irl) Team Sky 0:09:53
- 30 Ruben Guerreiro (Por) Axeon Cycling Team 0:12:50
- 31 Jacques Janse van Rensburg (RSA) MTN - Qhubeka 0:13:13
- 32 Michael Woods (Can) Optum p/b Kelly Benefit Strategies 0:14:30
- 33 Toms Skujins (Lat) Hincapie Racing Team 0:17:09
- 34 Gavin Mannion (USA) Jelly Belly p/b Maxxis 0:17:59
- 35 Laurent Didier (Lux) TrekRacing 0:19:27
- 36 Jesus Hernandez Blazquez (Spa) Tinkoff-Saxo 0:20:29
- 37 James Oram (NZl) Axeon Cycling Team 0:20:41
- 38 Jasper Stuyven (Bel) TrekRacing 0:23:02
- 39 Robin Carpenter (USA) Hincapie Racing Team 0:25:46
- 40 Chris Butler (USA) Team SmartStop 0:28:00
- 41 Daniel Oss (Ita) BMC Racing Team 0:28:26
- 42 Alex Howes (USA) Cannondale-Garmin Pro Cycling Team 0:28:40
- 43 Ruben Zepuntke (Ger) Cannondale-Garmin Pro Cycling Team 0:28:46
- 44 Geoffrey Curran (USA) Axeon Cycling Team 0:29:07
- 45 Gregory Obando Brenes (Crc) Jamis - Hagens Berman 0:29:14
- 46 Stijn Devolder (Bel) TrekRacing 0:32:14
- 47 Alexandr Braico (Mda) Jelly Belly p/b Maxxis 0:32:33
- 48 Markel Irizar Aranburu (Spa) TrekRacing 0:33:04
- 49 Gregory Daniel (USA) Axeon Cycling Team 0:34:20
- 50 Evan Huffman (USA) Team SmartStop 0:35:55
- 51 Danny Pate (USA) Team Sky 0:36:20
- 52 Logan Owen (USA) Axeon Cycling Team 0:36:39
- 53 Lucas Sebastian Haedo (Arg) Jamis - Hagens Berman 0:36:53
- 54 Darren Lapthorne (Aus) Drapac 0:37:07
- 55 Daniel Eaton (USA) Axeon Cycling Team 0:37:08
- 56 Roy Curvers (Ned) Team Giant-Alpecin 0:37:46
- 57 Jonathan Clarke (Aus) UnitedHealthcare Pro Cycling 0:38:06
- 58 Daniel Summerhill (USA) UnitedHealthcare Pro Cycling 0:38:17
- 59 Sep Vanmarcke (Bel) Team LottoNL-Jumbo 0:38:46
- 60 John Murphy (USA) UnitedHealthcare Pro Cycling 0:38:54
- 61 Andzs Flaksis (Lat) Hincapie Racing Team 0:40:23
- 62 Campbell Flakemore (Aus) BMC Racing Team 0:40:40
- 63 Daniele Bennati (Ita) Tinkoff-Saxo
- 64 Jempy Drucker (Lux) BMC Racing Team 0:40:59
- 65 Danny van Poppel (Ned) TrekRacing 0:41:00
- 66 Mike Teunissen (Ned) Team LottoNL-Jumbo 0:41:18
- 67 Mark Cavendish (GBr) Etixx - Quick-Step 0:41:21
- 68 Edward King (USA) Cannondale-Garmin Pro Cycling Team
- 69 Justin Oien (USA) Axeon Cycling Team 0:41:37
- 70 Daniel Teklehaimanot (Eri) MTN - Qhubeka 0:41:55
- 71 Charles Planet (Fra) Team Novo Nordisk 0:42:02
- 72 Koen de Kort (Ned) Team Giant-Alpecin 0:42:03
- 73 Tyler Farrar (USA) MTN - Qhubeka 0:42:05
- 74 Matteo Trentin (Ita) Etixx - Quick-Step 0:42:24
- 75 Thierry Hupond (Fra) Team Giant-Alpecin 0:43:03
- 76 Luis Romero Amaran (Cub) Jamis - Hagens Berman 0:43:07
- 77 Matthew Harley Goss (Aus) MTN - Qhubeka 0:43:24
- 78 Andrea Peron (Ita) Team Novo Nordisk 0:43:50
- 79 Xabier Zandio Echaide (Spa) Team Sky 0:43:52
- 80 Yves Lampaert (Bel) Etixx - Quick-Step 0:44:39
- 81 Johann Van Zyl (RSA) MTN - Qhubeka 0:44:45
- 82 Martin Kohler (Swi) Drapac 0:44:48
- 83 Michael Mørkøv (Den) Tinkoff-Saxo 0:45:06
- 84 Maarten Wynants (Bel) Team LottoNL-Jumbo 0:45:12
- 85 Zico Waeytens (Bel) Team Giant-Alpecin 0:45:17
- 86 Travis Meyer (Aus) Drapac 0:45:25
- 87 Eric Marcotte (USA) Team SmartStop 0:45:33
- 88 Lachlan Morton (Aus) Jelly Belly p/b Maxxis 0:45:48
- 89 Joseph Lewis (Aus) Hincapie Racing Team 0:45:54
- 90 Mark Renshaw (Aus) Etixx - Quick-Step 0:46:04
- 91 Dennis van Winden (Ned) Team LottoNL-Jumbo 0:46:08
- 92 Guillaume Van Keirsbulck (Bel) Etixx - Quick-Step 0:46:30
- 93 Matthew Brammeier (Irl) MTN - Qhubeka 0:47:26
- 94 Jure Kocjan (Slo) Team SmartStop 0:47:31
- 95 Tom Van Asbroeck (Bel) Team LottoNL-Jumbo 0:48:08
- 96 Lasse Norman Hansen (Den) Cannondale-Garmin Pro Cycling Team 0:48:20
- 97 Tom Zirbel (USA) Optum p/b Kelly Benefit Strategies 0:48:42
- 98 Joseph Schmalz (USA) Hincapie Racing Team 0:48:50
- 99 Martijn Verschoor (Ned) Team Novo Nordisk 0:48:59
- 100 Oscar Clark (USA) Hincapie Racing Team 0:50:23
- 101 Stijn Vandenbergh (Bel) Etixx - Quick-Step 0:50:32
- 102 Javier Megias Leal (Spa) Team Novo Nordisk 0:51:19
- 103 David Lozano Riba (Spa) Team Novo Nordisk 0:51:25
- 104 Jos van Emden (Ned) Team LottoNL-Jumbo 0:51:37
- 105 William Clarke (Aus) Drapac 0:51:52
- 106 Jacob Rathe (USA) Jelly Belly p/b Maxxis 0:51:53
- 107 Tanner Putt (USA) UnitedHealthcare Pro Cycling 0:52:48
- 108 Stephen Leece (USA) Jamis - Hagens Berman 0:53:46
- 109 Martin Velits (Svk) Etixx - Quick-Step 0:54:14
- 110 Fred Rodriguez (USA) Jelly Belly p/b Maxxis 0:54:38
- 111 Kevin De Mesmaeker (Bel) Team Novo Nordisk 0:54:40
- 112 Nathan Earle (Aus) Team Sky 0:54:42
- 113 Steve Fisher (USA) Jelly Belly p/b Maxxis 0:54:55
- 114 Gerald Ciolek (Ger) MTN - Qhubeka 0:56:38
- 115 Jordan Kerby (Aus) Drapac 0:57:16
- 116 Wouter Wippert (Ned) Drapac 0:57:31
- 117 Kiel Reijnen (USA) UnitedHealthcare Pro Cycling 0:58:54
- 118 Graeme Brown (Aus) Drapac 1:00:26
- 119 Jesse Anthony (USA) Optum p/b Kelly Benefit Strategies 1:00:38
- 120 Daniele Ratto (Ita) UnitedHealthcare Pro Cycling 1:02:34
- 121 Matti Breschel (Den) Tinkoff-Saxo 1:03:02