Three-time Vuelta a Espana winner Primoz Roglic claimed victory on stage eight to close the gap on overall leader Ben O’Connor by nearly a minute.
Saturday’s stage concluded with a category three climb to the finish, on which Roglic battled it out with Spain’s Enric Mas.
The Slovenian, 34, raced away in the final 200m to claim his second stage win of this year’s race.
O’Connor struggled to stay with his general classification rivals on the sharp uphill finish and the Australian came in 17th, with his lead over Roglic being cut to three minutes 49 seconds.
“I was suffering,” said Red Bull-Bora-Hansgrohe rider Roglic, who attacked three times on the gruelling climb to Cazorla.
“It was hard today, but in the end I went for it. It was hard, hot; I was lucky I had the legs to take it today.
“We will enjoy [chasing O’Connor] but maybe I will lose again 10 seconds tomorrow.”
Title contender Joao Almeida struggled far more in the final stages of the 158.7km route from Ubeda, finishing four minutes 53 seconds behind Roglic to drop from third to 26th in GC.
Movistar rider Mas has risen to third overall, trailing O’Connor of Decathlon AG2R La Mondiale by four minutes 31 seconds.
An eight-man breakaway formed after the 50km mark and was reeled in by the chase group with 1.5km remaining, with Roglic and Mas scrapping for the stage win.
The race continues in the Sierra Nevada on Sunday, with a 178.5km mountain route from Motril to Granada.
Stage eight results
1. Primoz Roglic (Slo/Red Bull-Bora-hansgrohe) 3hrs 38mins 34secs
2. Enric Mas (Spa/Movistar) Same time
3. Mikel Landa (Spa/Soudal Quick-Step) +14secs
4. Antonio Tiberi (Ita/Bahrain Victorious) +17secs
5. Mattias Skjelmose (Den/Lidl-Trek) +21secs
6. Carlos Rodriguez (Spa/Ineos Grenadiers) Same time
7. Harold Tejada (Col/Astana-Qazaqstan) +24secs
8. Eddie Dunbar (Ire/Jayco-AlUla) +26secs
9. Lennert van Eetvelt (Bel/Lotto-Dstny) +29secs
10. Jack Haig (Aus/Bahrain Victorious) Same time
General classification
1. Ben O’Connor (Aus/Decathlon-AG2R La Mondiale) 31hrs 23mins 27secs
2. Primoz Roglic (Slo/Red Bull-Bora-hansgrohe) +3mins 49secs
3. Enric Mas (Spa/Movistar) +4:31
4. Antonio Tiberi (Ita/Bahrain Victorious) +5:00
5. Mikel Landa (Spa/Soudal Quick-Step) +5:13
6. Lennert van Eetvelt (Bel/Lotto-Dstny) +5:15
7. Cristian Rodriguez (Spa/Arkea-B&B Hotels) +5:19
8. Mattias Skjelmose (Den/Lidl-Trek) +5:24
9. Florian Lipowitz (Ger/Red Bull-Bora-hansgrohe) +5:25
10. Felix Gall (Aut/Decathlon-AG2R La Mondiale) +5:26