Briton Chris Froome retained his overall lead in the Criterium du Dauphine after Nikias Arndt edged the sprint finish in Le Teil, France.
Froome was well protected by his Team Sky team-mates as he came home in the peloton alongside Alberto Contador of Spain, his main rival for the race win.
Defending champion Froome held his 12-second lead with five stages remaining.
Giant-Shimano's Arndt of Germany beat Lotto Belisol's Kris Boeckmans of Belgium by inches.
It was a thrilling finish to an otherwise largely predictable third stage that saw an early breakaway brought back by the peloton.
There was a brief flurry of excitement in the final 20km when an eight-strong group, featuring breakaway specialist Jens Voigt of Germany, raced clear but their efforts came to nothing as the sprinters' teams in the peloton closed down the gap.
A series of speed humps and tight corners in the closing stages contributed to a scrappy finale but the faster-finishing Boeckmans timed his effort a fraction too late as Arndt held on to win by the width of a bike tyre.
Arndt's team-mate, Reinardt Janse Van Rensburg of South Africa, won the sprint for third at the end of the 194km stage.
Wednesday's fourth stage takes the riders 167.5km from Montelimar to Gap.
Stage three result:
1. Nikias Arndt (Ger/Giant-Shimano) 5:30:03"
2. Kris Boeckmans (Bel/Lotto Belisol) ST
3. Reinardt Janse Van Rensburg (SA/Giant-Shimano)
4. Yannick Martinez (Fra/Europcar)
5. Davide Cimolai (Ita/Lampre)
6. Jens Keukeleire (Bel/Orica GreenEdge)
7. Alexey Tsatevich (Rus/Katusha)
8. Arnaud Demare (Fra/FDJ.fr)
9. Gianni Meersman (Bel/Omega Pharma - Quick-Step)
10. Marco Marcato (Ita/Cannondale)
Overall standings after stage three of eight:
1. Chris Froome (GB/Team Sky) 10:07:47"
2. Alberto Contador (Spa/Tinkoff - Saxo) +12 secs
3. Wilco Kelderman (Ned/Belkin) +21 secs
4. Andrew Talansky (US/Garmin-Sharp) +33 secs
5. Jurgen Van den Broeck (Bel/Lotto Belisol) +35 secs
6. Vincenzo Nibali (Ita/Astana) +50 secs
9. Adam Yates (GB/Orica GreenEdge) +1:31"