Britain's Simon Yates maintained his La Vuelta lead of 25 seconds as Belgian Jelle Wallays won the 18th stage from Ejea de los Caballeros to Lleida.
Yates (Mitchelton-Scott) safely marked his nearest challenger Alejandro Valverde (Movistar) over the 186.1 kilometres, and now only two stages remain ahead of Sunday's processional finish in Madrid.
Wallays (Lotto Soudal), Sven Eryk Bytrom (UAE Team Emirates) and Jetse Bol (Burgos-BH) formed an early breakaway inside three kilometres.
Wallays and Bytrom dropped Bol in the final kilometres and the pair held off the fast-finishing Peter Sagan, with the Belgian taking the stage win from his Norwegian rival.
Ireland's Nicolas Roche finished just over three minutes behind the winner and is now 42nd in the general classification.
We need your consent to load this YouTube contentWe use YouTube to manage extra content that can set cookies on your device and collect data about your activity. Please review their details and accept them to load the content.Manage Preferences