Denmark’s Magnus Cort claimed his third win in this year’s Vuelta a Espana as he produced a superb sprint finish to take stage 19.
EF Education-Nippo rider Cort, who also won stages six and 12, edged out breakaway companions Rui Oliveira of Portugal and American Quinn Simmons.
Primoz Roglic retained the leader’s red jersey before the final two days.
The riders face the 202.2km-long stage 20 on Saturday before the race concludes with a time trial on Sunday.
Cort was part of a seven-man group that worked superbly together in the last 20km of the hilly stage in Galicia before proving the strongest in the sprint finish.
Slovenia’s Roglic, who retook the lead on Wednesday, finished 18 seconds behind in the peloton to maintain his grip on the red jersey in pursuit of his third successive Vuelta title.
Jumbo-Visma’s Roglic, 31, leads by two minutes 30 seconds from Spain’s Enric Mas with Miguel Angel Lopez of Colombia a further 23 seconds adrift.
While Olympic time trial champion Roglic is the clear favourite, Saturday’s mountainous stage offers a final chance for his rivals to mount attacks.
Stage 19 results
1. Magnus Cort (Den/EF Education-Nippo) 4hrs 24mins 54secs
2. Rui Oliveira (Por/UAE Team Emirates) same time
3. Quinn Simmons (US/Trek-Segafredo)
4. Andrea Bagioli (Ita/Deceuninck-Quick-Step)
5. Anthony Roux (Fra/Groupama-FDJ)
6. Andreas Kron (Den/Lotto-Soudal)
7. Lawson Craddock (US/EF Education-Nippo) +5secs
8. Alberto Dainese (Ita/Team DSM) +18secs
9. Matteo Trentin (Ita/UAE Team Emirates) same time
10. Alexander Krieger (Ger/Alpecin-Fenix)
General classification after stage 19
1. Primoz Roglic (Slo/Jumbo-Visma) 77hrs 49mins 37secs
2. Enric Mas (Spa/Movistar) +2mins 30secs
3. Miguel Angel Lopez (Col/Movistar) +2mins 53secs
4. Jack Haig (Aus/Bahrain Victorious) +4mins 36secs
5. Egan Bernal (Col/Ineos Grenadiers) +4mins 43secs
6. Adam Yates (GB/Ineos Grenadiers) +5mins 44secs
7. Sepp Kuss (US/Jumbo-Visma) +6mins 2secs
8. Gino Mader (Sui/Bahrain Victorious) +7mins 48secs
9. Guillaume Martin (Fra/Cofidis ) +8mins 31secs
10. David de la Cruz (Spa/UAE Team Emirates) +9mins 24secs