Germany's Lennard Kamna soloed to victory on stage nine of the Vuelta a Espana as American Sepp Kuss retained the leader's red jersey.
Italy's Matteo Sobrero was second, with Australia's Chris Hamilton third on the 184.5km stage from Cartagena to Collado de la Cruz de Caravaca.
Poor conditions at the finish meant general classification (GC) times were largely awarded two kilometres early.
Kuss leads the overall race by 43 seconds, with a rest day on Monday.
Kamna's victory means that he has now won stages at all three of cycling's Grand Tours, after previously triumphing at the Tour de France (2020) and the Giro d'Italia (2022).
Having been involved in an earlier eight-man breakaway that was never seriously chased down by the peloton, he escaped with around five kilometres left on a steep final climb to the line.
"I'm super happy. I worked really hard the last couple of months," Kamna said. "The climb was always going up and down and it was hard to find the moment to drop the others.
"I went totally over my limit for two minutes and then it was just a fight to the finish."
With a rest day coming up, their were some minor adjustments in the GC standings as reigning champion Remco Evenepoel moved up two places into fourth, two minutes and 22 seconds back.
Meanwhile, Primoz Roglic and Jonas Vingegaard, who won the Giro d'Italia and Tour de France earlier this year, also jumped up one spot each, to sixth and seventh, at the expense of Wout Poels, who dropped from fourth to 21st.
Hugh Carthy is the highest-placed British rider in the race in 14th, over four minutes back, while former Tour winner Geraint Thomas is 22nd, 12 minutes and 34 seconds adrift of the leader.
Stage nine results
1. Lennard Kamna (Ger/Bora-Hansgrohe 4hrs 28mins 59secs
2. Matteo Sobrero (Ita/Jayco-AlUla) +13secs
3. Chris Hamilton (Aus/DSM) 1min 12secs
4. Amanuel Gebreigzabhier (Eri/Lidl-Trek) 60secs
5. Jon Barrenetxea (Spa/Caja Rural-Seguros RGA) 1min 37secs
6. Ruben Fernandez (Spa/Cofidis) same time
7. Jonathan Caicedo (Ecu/EF Education-EasyPost) 2mins 11secs
8. Daniel Navarro (Spa/Burgos-BH) 2mins 41secs
9. Enric Mas (Spa/Movistar) 3mins 16secs
10. Aleksandr Vlasov (Rus/Bora-Hansgrohe) 3mins 11secs
General classification standings after stage nine
1. Sepp Kuss (USA/Jumbo-Visma) 35hrs 23mins 30secs
2. Marc Soler (Spa/UAE Team Emirates) +43secs
3. Lenny Martinez (Fra/Groupama-FDJ) +1min 02secs
4. Remco Evenepoel (Bel/Soudal-Quick-Step) +2mins 22secs
5. Mikel Landa (Spa/Bahrain Victorious) +2mins 29secs
6. Primoz Roglic (Slo/Jumbo-Visma) same time
7. Jonas Vingegaard (Den/Jumbo-Visma) +2mins 33secs
8. Enric Mas (Spa/Movistar Team) same time
9. Juan Ayuso (Spa/UAE Team Emirates) +2mins 43secs
10. Joao Almeida (Por/UAE Team Emirates) +2mins 55secs