Mathieu van der Poel took the race lead at the Tour de Suisse after securing back-to-back stage wins.
The Alpecin-Fenix rider followed up his Stage 2 victory by beating Christophe Laporte (Cofidis) and Julian Alaphilippe (Deceuninck-QuickStep) in the uphill finale at Pfaffnau.
Van der Poel now leads the race by one second from Alaphilippe while previous leader Stefan Kung (Groupama-FDJ) sits in third at four seconds behind.
Senechal wins Primus Classic as Deceuninck-QuickStep dominate in Belgium
“I had a good day again and I wanted to make the race hard. Like yesterday on the final climb but it was still around 30-40 guys,” said Van der Poel.
'I wanted to make the race hard' - Van der Poel explains race strategy
“I saw the sprint the first time around the finish and I saw that it suited me quite well so I went for that.”
A breakaway move from Ivan Garcia Cortina (Movistar) saw him lead coming into the final kilometre, but he was caught by the determined chasing pack.
Mauri Vansevenant looked to lead out the sprint for team-mate Alaphilippe but it was Van der Poel who found the strongest finish and he even had time to sit up and enjoy his victory.
Stage 4 of the eight-stage race sees riders tackle a 171km route with a climb up Saanenmoser to the finish.
Road World Championships: Full schedule and top riders
Van der Poel provisionally included in Dutch team for World Championships road race