Primoz Roglic would need an almighty slip up to fail to win the Vuelta a Espana, though Saturday's penultimate stage belonged to Clement Champoussin.

A monster, 202.2-kilometre route culminated in a summit finish on Mos. Castro de Herville, with 23-year-old Champoussin attacking with 1500m remaining to take the first stage win of his professional career.

The Frenchman crossed the line six seconds ahead of Roglic, who had led a chasing pack that caught breakaway leader Ryan Gibbons with around 4km left.

Roglic's second-place finish, two seconds ahead of nearest general classification rival Enric Mas of Movistar, should surely see the Jumbo-Visma rider claim La Roja for a third successive year.

It could all change in Sunday's time trial, but having won gold in such an event at the Tokyo Olympics, Roglic will know a third Vuelta crown is within his grasp.

Should he hold onto his GC lead, which stands at 2:38, Roglic will become only the fourth rider in history to win the Vuelta on three separate occasions, while he will also match Roberto Heras' feat of three consecutive triumphs (set between 2003 and 2005).

Stage 20 belonged to Champoussin, however. After Roglic, Mas, Adam Yates and Jack Haig had caught Gibbons, the AG2R Citroen rider lodged a surprise offensive, catching the quintet cold.

For a moment, with Roglic gaining ground, it looked as though Champoussin - who only turned pro last year - may have gone too soon, but he held on to claim a maiden grand tour stage success.

Behind Roglic, Adam Yates of INEOS Grenadiers just edged out Mas to secure a top-three finish. A dismal day for Miguel Angel Lopez saw him abandon the race with 20km remaining after he failed to keep pace with the general classification group.

STAGE RESULT

1. Clement Champoussin (AG2R Citroen) 05:21:50
2. Primoz Roglic (Jumbo-Visma) +0:06
3. Adam Yates (INEOS Grenadiers) +0:08

CLASSIFICATION STANDINGS

General Classification

1. Primoz Roglic (Jumbo-Visma) 83:11:27
2. Enric Mas (Movistar) +2:38
3. Jack Haig (Bahrain Victorious) +4:48

Points Classification

1. Fabio Jakobsen (Deceuninck-Quick-Step) 250
2. Primoz Roglic (Jumbo-Visma) 179
3. Magnus Cort (EF Education-Nippo) 145

King of the Mountains

1. Michael Storer (Team DSM) 80
2. Romain Bardet (Team DSM) 61
3. Primoz Roglic (Jumbo-Visma) 51

What's next?

Sunday's final stage is a 33.8km time trial from Padron to Santiago de Compostela. A consistent climb is followed by downhill, technical sections and a flat straight to the line.