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.
Tour de France
Opinion: If Bennett can't, should Cavendish go to the Tour de France?
“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.
Tour de Suisse
Carapaz powers to Stage 5 victory at Tour de Suisse
Tour de Suisse
Carapaz poses questions for Ineos with powerful Tour de Suisse performance