Nielsen zaatakował na ostatnim kilometrze, uzyskując bezpieczną przewagę nad trzema ostatnimi towarzyszami długiej ucieczki, wśród których był Włoch Alessandro De Marchi z polskiej ekipy CCC. Licząca ponad 30 kolarzy grupa, z Kwiatkowskim w składzie, straciła do zwycięzcy 48 sekund.
 
Dotychczasowy lider, holenderski sprinter Dylan Groenewegen (Jumbo-Visma) nie wytrzymał trudów pierwszego pagórkowatego etapu, tracąc na mecie ponad 22 minuty.
 
W klasyfikacji generalnej Kwiatkowski przesunął się z drugiego na pierwsze miejsce i wyprzedza o pięć sekund Hiszpana Luisa Leona Sancheza (Astana) oraz o dziesięć Belga Philippe'a Gilberta (Deceuninck-Quick-Step). W czwartek Polak będzie miał szansę powiększyć przewagę w jeździe indywidualnej na czas wokół miejscowości Barbentane (25,5 km).
 
Ośmioetapowy wyścig rangi World Tour zakończy się w niedzielę w Nicei.
 
Wyniki 4. etapu, Vichy – Pelussin (212 km):
 
 1. Magnus Cort Nielsen (Dania/Astana) – 5:03.49
 2. Thomas De Gendt (Belgia/Lotto Soudal) – 7 s
 3. Giulio Ciccone (Włochy/Trek-Segafredo) – 13
 4. Alessandro De Marchi (Włochy/CCC) – 18
 5. Lilian Calmejane (Francja/Direct Energie) – 48
 6. Valentin Madouas (Francja/Groupama-FDJ) 
...
10. Michał Kwiatkowski (Polska/Sky) – ten sam czas
76. Paweł Poljański (Polska/Bora-Hansgrohe) – 12.24
 
Klasyfikacja generalna:
 
 1. Michał Kwiatkowski (Polska/Sky) – 16:52.27
 2. Luis Leon Sanchez (Hiszpania/Astana) – 5 s
 3. Philippe Gilbert (Belgia/Deceuninck-Quick Step) – 10
 4. Egan Bernal (Kolumbia/Sky) – 11
 5. Matteo Trentin (Włochy/Mitchelton-Scott) – 14
 6. Tony Gallopin (Francja/AG2R La Mondiale) – 15
...
55. Paweł Poljański (Polska/Bora-Hansgrohe) – 14.57.