Lo Port - Alejandro Valverde took control of the Tour of Catalonia by winning his second stage of this year's edition on Friday ahead of Chris Froome and Alberto Contador.
Spaniard Valverde broke clear of three-time Tour de France winner Froome and twice Tour laureate Contador in the final kilometre to win the 182km fifth stage and take the overall leader's white jersey from American Tejay Van Garderen.
Valverde had started the day fourth overall due to the penalty his Movistar team incurred during the opening stage team time-trial they had originally won on Monday.
That cost him the overall lead but he proved strongest on the steep (average 9 percent gradient) final 8.4km climb up to Lo Port.
"On the (final) climb I had the legs, I calculated the distance to here, to the finish line (and went for it)," said Valverde, who won the Tour's other hilltop finish too.
"The team was great today, we were out front the whole way," he said.
Briton Froome and Spain's Contador came in 13 seconds behind and now sit second and third overall at 21 seconds and 47 seconds, respectively.
Van Garderen lost almost two minutes and dropped to sixth at 1:18.
The week-long stage race finishes on Sunday in Barcelona.
Results from the 182km fifth stage of Tour of Catalonia from Valls to Tortosa on Friday:
1. Alejandro Valverde (ESP/MOV) 4hr 14min 52sec, 2. Christopher Froome (GBR/SKY) at 13sec, 3. Alberto Contador (ESP/TRE) same time, 4. Marc Soler (ESP/MOV) 25, 5. Adam Yates (GBR/ORI) 32, 6. Daniel Martin (IRL/ETI) 46, 7. David Gaudu (FRA/FDJ) 58, 8. Hugh Carthy (GBR/CAN) 1:04, 9. Jakob Fuglsang (DEN/AST) 1:11, 10. Steven Kruijswijk (NED/LNL) s.t.
Selected others
11. Romain Bardet (FRA/ALM) s.t., 14. Geraint Thomas (GBR/SKY) 1:25, 22. Tejay Van Garderen (USA/BMC) 1:53
Overall standings
1. Alejandro Valverde (ESP/Movistar) 17hr 44min 27sec, 2. Christopher Froome (GBR/SKY) 21, 3. Alberto Contador (ESP/TRE) 47, 4. Marc Soler (ESP/MOV) 1:00m, 5. Adam Yates (GBR/ORI) 1:15, 6. Tejay Van Garderen (USA/BMC) 1:18, 7. Geraint Thomas (GBR/SKY) 1:34, 8. Samuel Sanchez (ESP/BMC) 1:59, 9. Daniel Martin (IRL/ETI) 2:13, 10. Steven Kruijswijk (NED/LNL) 2:40
Selected others
15. Romain Bardet (FRA/ALM) 2:49