Płaski, 195-kilometrowy etap z La Baule do Sarzeau o mało nie zakończył się triumfem uciekinierów, a ostatni z nich, Guillaume Van Keirsbulck (Wanty-Groupe Gobert), został doścignięty pod bramą, sygnalizującą kilometr do mety. Ekipy sprinterów mało nie przeliczyły się w pogoni czwórki uciekinierów – oprócz Belga byli w niej Dimitri Claeys i Anthony Perez (Cofidis) i Jermoe Cousin (Direct Energie) – i dopiero na ostatnich metrach skasowali odjazd. Wtedy do walki ruszyli najszybsi kolarze z peletonu.
Gaviria znów korzystał z doskonałego rozprowadzania swoich kolegów i to właśnie na kole Kolumbijczyka ustawił się Sagan, a tuż obok jechał Greipel. To właśnie doświadczony Niemiec jako pierwszy rozpoczął sprint i ruszył prawą stroną. Sagan skakał z koła Gavirii na koło Sagana, ale to Kolumbijczyk, który był na czele po rozprowadzeniu kolegów, utrzymał wysoką prędkość i nie dał się wyprzedzić, notując drugie zwycięstwo etapowe w wyścigu.
Na 5 kilometrów przed metę w peletonie doszło do kolejnej już kraksy, jednak faworyci wyścigu i lider, Greg Van Avermaet (BMC Racing Team), finiszowali w peletonie. Najwyżej z Polaków sklasyfikowany był Michał Kwiatkowski (Team Sky), który przyjechał na metę na 28. miejscu.
Wyniki 4. etapu:
1 Fernando Gaviria (Col) Quick-Step Floors 4:25:01
2 Peter Sagan (Svk) Bora-Hansgrohe
3 André Greipel (Ger) Lotto Soudal
4 Dylan Groenewegen (Ned) LottoNL-Jumbo
5 Marcel Kittel (Ger) Katusha-Alpecin
6 Andrea Pasqualon (Ita) Wanty-Groupe Gobert
7 Alexander Kristoff (Nor) UAE Team Emirates
8 John Degenkolb (Ger) Trek-Segafredo
9 Dion Smith (NZl) Wanty-Groupe Gobert
10 Timothy Dupont (Bel) Wanty-Groupe Gobert
Klasyfikacja generalna po 4. etapie:
1 Greg Van Avermaet (Bel) BMC Racing Team 13:33:56
2 Tejay van Garderen (USA) BMC Racing Team
3 Geraint Thomas (GBr) Team Sky 0:00:03
4 Philippe Gilbert (Bel) Quick-Step Floors 0:00:05
5 Julian Alaphilippe (Fra) Quick-Step Floors 0:00:07
6 Bob Jungels (Lux) Quick-Step Floors
7 Tom Dumoulin (Ned) Team Sunweb 0:00:11
8 Søren Kragh Andersen (Den) Team Sunweb
9 Michael Matthews (Aus) Team Sunweb
10 Rigoberto Uran (Col) EF Education First-Drapac p/b Cannondale 0:00:35