Holender zaatakował tuż po tym, gdy grupa faworytów pokonała podjazd pod Kruisberg, samotnie minął atakującą wcześniej trójkę kolarzy i utrzymał kilkudziesięciosekundową przewagę aż do mety w Oudenaarde, gdzie wyprzedził Madsa Pedersena (Trek-Segafredo) oraz swojego kolegę z ekipy, Philippa Gilberta, który finiszował najszybciej z kilkunastoosobowej grupy. Było to już drugie zwycięstwo Holendra w jednym z pięciu monumentów – w 2014 roku wygrał Paryż-Roubaix. Terpstra jest też pierwszym Holendrem od czasów Adriego Van der Poela w 1986, który wygrał De Ronde.
Wyścig z Antwerpii do Oudenaarde, o długości 265 kilometrów – podczas których kolarze pokonywali pięć odcinków bruku i 18 podjazdów, także brukowanych po części – początkowo przebiegał w bardzo trudnych warunkach. Padający deszcz utrudniał jazdę i był przyczyną kilku kraks, które jednak nie były groźne. Mocne tempo i trudne warunki nie ułatwiały też zadania uciekinierom, którzy walczyli o to, by załapać się w odjazd. Dopiero po około 70 kilometrach na czele zawiązała się kilkunastoosobowa grupa, której przewaga sięgnęła pięciu minut i długo utrzymywała się na tym poziomie.
Po 120 kilometrach, gdy rozpoczynały się podjazdy i peleton się ożywił, przewaga zaczęła spadać. Grupę prowadziły ekipy BMC Racing Team, Quick-Step Floors, Bora-hansgrohe i Team Sky, dyktując coraz mocniejsze tempo. Na Muur Kapelmuur (na 170km) peleton się zaczynał rwać, a kolejni harcownicy zaczynali nie wytrzymywać trudów ucieczki.
Podjazd pod Paterberg (na 214 km) grupa zasadnicza pokonywała pod dyktando Michała Kwiatkowskiego (Team Sky). Kontrataki z czołówki i przetasowania w ucieczce po podjeździe pod Koppenberg (na 221 km) sprawiły, że na czele jechali wtedy Mads Pedersen (Trek-Segafredo), Dylan Van Baarle (Team Sky) i Sebastian Langeveld (EF Education First-Drapac p/b Cannondale) i ta trójka utrzymywała około pół minuty przewagi nad dwiema grupami, które po chwili się połączyły, a w których byli faworyci wyścigu.
Trójka uciekinierów zgodnie współpracowała i długo utrzymywała dystans nad pogonią, natomiast faworyci wyścigu rozpoczęli zdecydowane ataki po zwycięstwo. Na Taaienbergu (na 229km) atakował Greg Van Avermaet (BMC Racing Team), ale szybko za nim ruszyli Peter Sagan (Bora-hansgrohe), Zdenek Stybar i Philippe Gilbert (Quick-Step Floors) i reszta faworytów – Terpstra, Tiesj Benoot (Lotto Soudal), Wout Van Aert (Veranda's Willems Crelan), Kwiatkowski, Alexander Kristoff (UAE Team Emirates) czy Arnaud Demare (Groupama-FDJ). Peleton napędzali teraz kolarze Bora-hansgrohe, ale nie byli w stanie upilnować rywali Sagana – na Kruisbergu (na 240km) kolejno atakowali Stybar, Sonny Colbrelli (Bahrain-Merida) i jego kolega Vincenzo Nibali, a za Włochem ruszył Terpstra.
Na 26 kilometrów przed metą Holender odjechał samotnie i ruszył w pogoń za trójką liderów. Kilka kilometrów dalej, na ostatnim podjeździe na trasie – Oude Kwaremont – 19 kilometrów przed metą, niczym tyczki minął czołową trójkę. Jedynie Pedersen próbował utrzymać kontakt z atakującym i jechał kilkanaście sekund za liderem. Terpstra nie oglądał się za siebie, za jego plecami też rywale nie byli zbyt chętni do zdecydowanej pogoni. Dzięki temu Holender utrzymywał przewagę i do mety dojechał niezagrożony, już na 100 metrów przed kreską ciesząc się ze zwycięstwa. Drugie miejsce zajął Pedersen, który do końca walczył o podium, a trzeci był Gilbert, który w końcówce wyskoczył z grupy faworytów i pokonał w walce o trzecie miejsce Michaela Valgrena (Astana).
28. miejsce zajął Kwiatkowski, 73. był Michał Gołaś (Team sky), a Maciej Bodnar (Bora-hansgrohe) nie ukończył wyścigu.
Wyniki:
- 1 Niki Terpstra (Ned) Quick-Step Floors 6:21:25
- 2 Mads Pedersen (Den) Trek-Segafredo 0:00:12
- 3 Philippe Gilbert (Bel) Quick-Step Floors 0:00:17
- 4 Michael Valgren (Den) Astana Pro Team 0:00:20
- 5 Greg Van Avermaet (Bel) BMC Racing Team 0:00:25
- 6 Peter Sagan (Svk) Bora-Hansgrohe
- 7 Jasper Stuyven (Bel) Trek-Segafredo
- 8 Tiesj Benoot (Bel) Lotto Soudal
- 9 Wout Van Aert (Bel) Veranda's Willems Crelan
- 10 Zdenek Stybar (Cze) Quick-Step Floors
- 11 Oliver Naesen (Bel) AG2R La Mondiale
- 12 Dylan van Baarle (Ned) Team Sky
- 13 Sep Vanmarcke (Bel) EF Education First-Drapac p/b Cannondale
- 14 Timo Roosen (Ned) LottoNL-Jumbo 0:01:09
- 15 Arnaud Demare (Fra) Groupama-FDJ 0:01:13
- 16 Alexander Kristoff (Nor) UAE Team Emirates
- 17 Nils Politt (Ger) Katusha-Alpecin
- 18 Mike Teunissen (Ned) Team Sunweb
- 19 Edvald Boasson Hagen (Nor) Dimension Data
- 20 Magnus Cort (Den) Astana Pro Team
- 21 Gianni Moscon (Ita) Team Sky
- 22 Sebastian Langeveld (Ned) EF Education First-Drapac p/b Cannondale 0:01:15
- 23 Sonny Colbrelli (Ita) Bahrain-Merida
- 24 Vincenzo Nibali (Ita) Bahrain-Merida 0:01:18
- 25 Heinrich Haussler (Aus) Bahrain-Merida 0:01:24
- 26 Daniel Oss (Ita) Bora-Hansgrohe 0:03:16
- 27 Jurgen Roelandts (Bel) BMC Racing Team
- 28 Michał Kwiatkowski (Pol) Team Sky
- 29 Yves Lampaert (Bel) Quick-Step Floors
- 30 Tom Devriendt (Bel) Wanty-Groupe Gobert 0:03:40
- 31 Jean-Pierre Drucker (Lux) BMC Racing Team
- 32 John Degenkolb (Ger) Trek-Segafredo
- 33 Viacheslav Kuznetsov (Rus) Katusha-Alpecin
- 34 Laurens De Vreese (Bel) Astana Pro Team
- 35 Jimmy Turgis (Fra) Cofidis, Solutions Credits
- 36 Stijn Vandenbergh (Bel) AG2R La Mondiale
- 37 Ivan Garcia Cortina (Spa) Bahrain-Merida
- 38 Frederik Backaert (Bel) Wanty-Groupe Gobert
- 39 Gregory Rast (Swi) Trek-Segafredo
- 40 Sven Erik Bystr¿m (Nor) UAE Team Emirates
- 41 Julien Vermote (Bel) Dimension Data
- 42 Koen de Kort (Ned) Trek-Segafredo
- 43 Amund Grondahl Jansen (Nor) LottoNL-Jumbo 0:03:44
- 44 Florian Senechal (Fra) Quick-Step Floors 0:03:47
- 45 Matteo Trentin (Ita) Mitchelton-Scott 0:04:10
- 46 Kristijan Koren (Slo) Bahrain-Merida
- 47 Piet Allegaert (Bel) Sport Vlaanderen-Baloise
- 48 Davide Cimolai (Ita) Groupama-FDJ
- 49 Marco Marcato (Ita) UAE Team Emirates
- 50 Sacha Modolo (Ita) EF Education First-Drapac p/b Cannondale
- 51 Marcus Burghardt (Ger) Bora-Hansgrohe
- 52 Oscar Gatto (Ita) Astana Pro Team
- 53 Soren Kragh Andersen (Den) Team Sunweb 0:05:49
- 54 Maarten Wynants (Bel) LottoNL-Jumbo 0:07:34
- 55 Stefan Kung (Swi) BMC Racing Team
- 56 Jos van Emden (Ned) LottoNL-Jumbo 0:08:18
- 57 Jasper De Buyst (Bel) Lotto Soudal
- 58 Marcel Sieberg (Ger) Lotto Soudal
- 59 Hugo Houle (Can) Astana Pro Team
- 60 Imanol Erviti (Spa) Movistar Team
- 61 Jens Debusschere (Bel) Lotto Soudal
- 62 Nelson Oliveira (Por) Movistar Team
- 63 Tony Martin (Ger) Katusha-Alpecin
- 64 Luke Durbridge (Aus) Mitchelton-Scott
- 65 Carlos Barbero (Spa) Movistar Team 0:09:14
- 66 Julien Duval (Fra) AG2R La Mondiale
- 67 Nico Denz (Ger) AG2R La Mondiale
- 68 Dion Smith (NZl) Wanty-Groupe Gobert
- 69 Alex Kirsch (Lux) WB Aqua Protect Veranclassic
- 70 Huub Duijn (Ned) Veranda's Willems Crelan
- 71 Patrick Muller (Swi) Vital Concept Club
- 72 Pim Ligthart (Ned) Roompot-Nederlandse Loterij
- 73 Michał Gołaś (Pol) Team Sky
- 74 Lars Ytting Bak (Den) Lotto Soudal
- 75 Lukas Spengler (Swi) WB Aqua Protect Veranclassic
- 76 Iljo Keisse (Bel) Quick-Step Floors
- 77 Lennard Hofstede (Ned) Team Sunweb
- 78 Olivier Le Gac (Fra) Groupama-FDJ
- 79 Ignatas Konovalovas (Ltu) Groupama-FDJ
- 80 Tom Scully (NZl) EF Education First-Drapac p/b Cannondale
- 81 Oliviero Troia (Ita) UAE Team Emirates
- 82 Jelle Wallays (Bel) Lotto Soudal
- 83 Mathew Hayman (Aus) Mitchelton-Scott
- 84 Luka Mezgec (Slo) Mitchelton-Scott
- 85 Luka Pibernik (Slo) Bahrain-Merida
- 86 Bert Van Lerberghe (Bel) Cofidis, Solutions Credits
- 87 Sean De Bie (Bel) Veranda's Willems Crelan 0:13:12
- 88 Amaury Capiot (Bel) Sport Vlaanderen-Baloise
- 89 Christoph Pfingsten (Ger) Bora-Hansgrohe 0:14:31
- 90 Dimitri Peyskens (Bel) WB Aqua Protect Veranclassic
- 91 Benjamin Declercq (Bel) Sport Vlaanderen-Baloise
- 92 Juraj Sagan (Svk) Bora-Hansgrohe
- 93 Ryan Mullen (Ire) Trek-Segafredo
- 94 Jan Willem van Schip (Ned) Roompot-Nederlandse Loterij
- 95 Jaco Venter (RSA) Dimension Data
- 96 Nicolas Dougall (RSA) Dimension Data
- 97 Ramon Sinkeldam (Ned) Groupama-FDJ
- 98 Matti Breschel (Den) EF Education First-Drapac p/b Cannondale
- 99 Alex Edmondson (Aus) Mitchelton-Scott
- 100 Taylor Phinney (USA) EF Education First-Drapac p/b Cannondale
- 101 Baptiste Planckaert (Bel) Katusha-Alpecin
- 102 Justin Jules (Fra) WB Aqua Protect Veranclassic
- 103 Cyril Lemoine (Fra) Cofidis, Solutions Credits
- 104 Stijn Steels (Bel) Veranda's Willems Crelan
- DNF Truls Korsaeth (Nor) Astana Pro Team
- DNF Michael Schar (Swi) BMC Racing Team
- DNF Francisco Ventoso (Spa) BMC Racing Team
- DNF Alberto Bettiol (Ita) BMC Racing Team
- DNF Edward Theuns (Bel) Team Sunweb
- DNF Maciej Bodnar (Pol) Bora-Hansgrohe
- DNF Alexey Lutsenko (Kaz) Astana Pro Team
- DNF Rudy Barbier (Fra) AG2R La Mondiale
- DNF Tim Declercq (Bel) Quick-Step Floors
- DNF Tony Gallopin (Fra) AG2R La Mondiale
- DNF Roy Curvers (Ned) Team Sunweb
- DNF Andreas Schillinger (Ger) Bora-Hansgrohe
- DNF Tom Stamsnijder (Ned) Team Sunweb
- DNF Fredrik Frison (Bel) Lotto Soudal
- DNF Mitchel Docker (Aus) EF Education First-Drapac p/b Cannondale
- DNF Gediminas Bagdonas (Ltu) AG2R La Mondiale
- DNF Nikias Arndt (Ger) Team Sunweb
- DNF Coen Vermeltfoort (Ned) Roompot-Nederlandse Loterij
- DNF Johann van Zyl (RSA) Dimension Data
- DNF Stijn Devolder (Bel) Veranda's Willems Crelan
- DNF Michael Goolaerts (Bel) Veranda's Willems Crelan
- DNF Zico Waeytens (Bel) Veranda's Willems Crelan
- DNF Yoann Offredo (Fra) Wanty-Groupe Gobert
- DNF Andrea Pasqualon (Ita) Wanty-Groupe Gobert
- DNF Guillaume Van Keirsbulck (Bel) Wanty-Groupe Gobert
- DNF Mark McNally (GBr) Wanty-Groupe Gobert
- DNF Kenny Dehaes (Bel) WB Aqua Protect Veranclassic
- DNF Maxime Vantomme (Bel) WB Aqua Protect Veranclassic
- DNF Julien Mortier (Bel) WB Aqua Protect Veranclassic
- DNF Edward Planckaert (Bel) Sport Vlaanderen-Baloise
- DNF Floris Gerts (Ned) Roompot-Nederlandse Loterij
- DNF Aime De Gendt (Bel) Sport Vlaanderen-Baloise
- DNF Sjoerd van Ginneken (Ned) Roompot-Nederlandse Loterij
- DNF Brian van Goethem (Ned) Roompot-Nederlandse Loterij
- DNF Bryan Coquard (Fra) Vital Concept Club
- DNF Bert de Backer (Bel) Vital Concept Club
- DNF Johan Le Bon (Fra) Vital Concept Club
- DNF Jeremy Lecroq (Fra) Vital Concept Club
- DNF Julien Morice (Fra) Vital Concept Club
- DNF Jonas Van Genechten (Bel) Vital Concept Club
- DNF Christophe Laporte (Fra) Cofidis, Solutions Credits
- DNF Geoffrey Soupe (Fra) Cofidis, Solutions Credits
- DNF Kenneth Vanbilsen (Bel) Cofidis, Solutions Credits
- DNF Pieter Weening (Ned) Roompot-Nederlandse Loterij
- DNF Rick Zabel (Ger) Katusha-Alpecin
- DNF Antoine Duchesne (Can) Groupama-FDJ
- DNF Jacopo Guarnieri (Ita) Groupama-FDJ
- DNF Jack Bauer (NZl) Mitchelton-Scott
- DNF Michael Hepburn (Aus) Mitchelton-Scott
- DNF Jorge Arcas (Spa) Movistar Team
- DNF Nuno Matos (Por) Movistar Team
- DNF Jasha Sutterlin (Ger) Movistar Team
- DNF Hector Carretero (Spa) Movistar Team
- DNF Ryan Gibbons (RSA) Dimension Data
- DNF Michael van Staeyen (Bel) Cofidis, Solutions Credits
- DNF Jay Thomson (RSA) Dimension Data
- DNF Jonas Rickaert (Bel) Sport Vlaanderen-Baloise
- DNF Marco Haller (Aut) Katusha-Alpecin
- DNF Borut Bozic (Slo) Bahrain-Merida
- DNF Pascal Eenkhoorn (Ned) LottoNL-Jumbo
- DNF Bram Tankink (Ned) LottoNL-Jumbo
- DNF Robert Wagner (Ger) LottoNL-Jumbo
- DNF Christian Knees (Ger) Team Sky
- DNF Ian Stannard (GBr) Team Sky
- DNF Kiel Reijnen (USA) Trek-Segafredo
- DNF Simone Consonni (Ita) UAE Team Emirates
- DNF Filippo Ganna (Ita) UAE Team Emirates
- DNF Ben Swift (GBr) UAE Team Emirates
- DNF Preben Van Hecke (Bel) Sport Vlaanderen-Baloise
- DNF Jose Goncalves (Por) Katusha-Alpecin
- DSQ Luke Rowe (GBr) Team Sky