Irish rider Sam Bennett won a bunch sprint to take victory on stage three of the Criterium du Dauphine, as Dylan Teuns retained the overall lead.
The Bora-Hansgrohe 28-year-old was an easy winner from Belgian Wout van Aert and Italian Davide Ballerini on the flat 177km stage to Riom.
Three-time champion Chris Froome, competing in preparation for the Tour de France, finished among the peloton.
Froome remains eighth overall, with 2018 runner-up Adam Yates in 10th.
Froome, 34, will be chasing a record-equalling fifth victory when the Tour de France begins in Brussels on 6 July.
After establishing a three minute 55 second advantage, a two-man breakaway of Eritrean Natnael Berhane, 28, and France’s Quentin Pacher, 27, were caught by the peloton with 12km to go to set up a finishing sprint.
Bahrain-Merida rider Teuns, winner of stage two on Monday, remains three seconds ahead of Frenchman Guillaume Martin in the general classification.
And the Belgian believes he can retain the leader’s jersey after Wednesday’s 26.1km individual time-trial in Roanne.
“It wasn’t easy to recover from yesterday’s efforts during today’s stage because of the bad weather,” said Teuns.
“It’s a big day tomorrow, also for me to try and keep the jersey. I’m in a really good shape so I have to believe in myself. I’ve prepared very well for the Dauphine and what’s coming after.”
Stage three results
1. Sam Bennett (Ire/Bora-Hansgrohe) 4hours 15minutes 25seconds
2. Wout van Aert (Bel/Jumbo-Visma) Same time
3. Davide Ballerini (Ita/Astana)
4. Clement Venturini (Fra/AG2R La Mondiale
5. Edward Theuns (Bel/Trek-Segafredo)
6. Edvald Boasson Hagen (Nor/Dimension Data)
7. Alvaro Hodeg (Col/Deceuninck-Quick-Step)
8. Jens Debusschere (Bel/Katusha-Alpecin)
9. Luka Mezgec (Slo/Mitchelton-Scott)
10. Bjorg Lambrecht (Bel/Lotto-Soudal)
1. Dylan Teuns (Bel/Bahrain-Merida) 11hours 52minutes 28seconds
2. Guillaume Martin (Fra/Wanty-Groupe Gobert) +3secs
3. Alexey Lutsenko (Kaz/Astana) +20secs
4. Jakob Fuglsang (Den/Astana) Same time
5. Nairo Quintana (Col/Movistar) +24secs
6. Thibaut Pinot (Fra/Groupama – FDJ) Same time
7. Michael Woods (Can/EF Education First)
8. Chris Froome (GB/Team INEOS)
9. Wout Poels (Ned/Team INEOS)
10. Adam Yates (GB/Mitchelton-Scott)