Mads Pedersen surged away from his sprint rivals on Friday to take the 19th stage, his third victory in the last seven Vuelta a Espana stages, while race leader Remco Evenepoel finished comfortably in the pack.
Pedersen, a Dane who rides for Trek, powered away from Fred Wright and Belgian Gianni Vermeersch, to take the 138.3km stage that began and ended in Talavera de la Reina.
With two stages to race, Belgian Evenepoel of Quick-Step remained two minutes and seven seconds ahead of Spaniard Enric Mas and 5min 14sec clear of third-placed Juan Ayuso.
Saturday's 20th and penultimate stage is a 181km run from Moralzarzal to Puerto de Navacerrada through the Guadarrama range north of Madrid. It includes five climbs which will give Evenepoel's rivals one last chance to attack.
Sunday's final stage is a short, flat ride into Madrid.
As marks of respect following the death of Queen Elizabeth II, riders paused at the start line for a minute and the British-based Ineos team wore black armbands.