Frenchman Coquard overtook FDJ's Daniel Hoelgaard in the final 100 metres in Seville to win by a bike length. It is his second win of the season, adding to his victory on stage five of the Volta a la Comunitat Valenciana earlier this month.
Valverde, who re-took the lead yesterday after the 12km time trial, finished 14th in the sprint to ensure that he goes into Sunday's final stage with his slender one second lead over Alberto Contador (Trek-Segafredo) intact.
A group of six riders came together for the day’s breakaway at 27km, containing Martin Keizer (LottoNL-Jumbo), Diego Rubio (Caja Rural-Seguros), Jérôme Cousin (Cofidis), Lukasz Owsian (CCC Sprandi-Polkowice), Martijn Budding (Roompot-Nederlandse Loterij) and Jens Wallays (Sport Vlaanderen-Baloise).
The day's parcours included three classified climbs, the highest taking the route to a maximum elevation of 618 metres. But with the ensuing 92km being either downhill or predominantly flat, the sextet were never going to be allowed to build a sizeable advantage.
And so it proved, with the peloton keeping them within 2:30, the time difference dropping beneath two minutes at 65km to go.
As the sprinting teams took position at the head of the peloton, the breakaway were 30 seconds up the road with 10km left and were finally absorbed at 5km, despite the best efforts of Rubio and Keizer to prolong their stay in the lead.
Lotto-Soudal led the bunch on the long straight in the final 3kms, before Direct Energie placed three riders at the front to protect Coquard going into a 90 degree hairpin bend with just 1,200m remaining.
A tight right turn at 700m and then a gentle left at 400m meant that sprint trains were hard to form, and as the final straight opened up, Coquard was in fourth place.
Hoelgaard was the first to launch his sprint and opened a large gap almost immediately, but Coquard maximised from his slipstream before going to the right of the Norwegian and sprinting past him for the stage honours.
Hugo Hofstetter (Cofidis) raced to his best ever professional result, the recently-turned 23 finishing third ahead of Moreno Holland (Lotto-Soudal).
Sunday's stage ends in the Malaga province of Coín, and despite starting the day in mountainous terrain exceeding 1,000m in height, the stage ends with a relatively flat parcours, meaning Valverde should win the race for a fifth time and retain his 2016 title.
Ruta del Sol 2017, stage four: La Campana (Sevilla) to Sevilla (179.3km)
1. Bryan Coquard (Fra) Direct Energie in 4-10-33
2. Daniel Hoelgaard (Nor) FDJ
3. Hugo Hofstetter (Fra) Cofidis
4. Moreno Holland (Ned) Lotto-Soudal
5. Raymond Kreder (Ned) Roompot-Nederlandse Loterij
6. Mihkel Rain (Est) Israel Cycling Academy
7. Roman Maikin (Rus) Gazprom-RusVelo
8. Maxime Farazijn (Bel) Sport Vlaanderen-Baloise
9. Rigoberto Uran (Col) Cannondale-Drapac
10. Eduard Prades (Esp) Caja Rural-Seguros
General classification after stage three
1. Alejandro Valverde (Esp) Movistar, in 13-12-07
2. Alberto Contador (Esp) Trek-Segafredo, at 1 sec
3. Thibaut Pinot (Fra) FDJ, at 6 secs
4. Wout Poels (Ned) Team Sky, at 21 secs
5. Diego Rosa (Ita) Team Sky, at 45 secs
6. Mikel Landa (Esp) Team Sky, at 48 secs
7. Sebastien Reichenbach (Sui) FDJ, at 52 secs
8. Rigoberto Uran (Col) Cannondale-Drapac, at 1-29
9. Ondrej Cink (Cze) Bahrain-Merida, at 1-48
10. Javier Moreno (Esp) Bahrain-Merida, at 1-50
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1