Get all your news in one place.
100's of premium titles.
One app.
Start reading
Cycling News
Cycling News
Sport
Dani Ostanek

Vuelta a España: Race leader Enric Mas outsprints Oscar Onley to win stage 9 on Alto de Aitana

Team Movistar's Spanish rider Enric Mas celebrates his victory followed by Team Netcompany Ineos' Scottish rider Oscar Onley during the 9th stage of the Vuelta a Espana 2026 cycling tour, a 187,4 km race between Villajoyosa and Alto de Aitana in Confrides, on August 30, 2026. (Photo by Josep LAGO / AFP).

Enric Mas (Movistar) scored a statement stage victory at the Vuelta a España, outsprinting Oscar Onley (Netcompany Ineos) in a two-man dash to the line to score his first win in four years atop the Alto de Aitana on stage 9.

The Spaniard, racing his first day in the leader's red jersey, proved the strongest man of the GC group, attacking 3.2km from the finish of the arduous 187km stage and taking Onley with him.

He led from the front in the final kilometre, duly dispatching the Briton in the closing sprint as Primož Roglič (Red Bull-Bora-Hansgrohe) rounded out the podium, 12 seconds down.

"Now I understand Tadej. The jersey gives you wings," Mas joked after the stage, reported AS.

"From yesterday afternoon until now, I think the team has done a perfect job. We've been incredibly calm the whole time and controlled the situation very well.

"I've been excited like a little kid since the start, and to be able to win with the jersey, I assure you, is a very, very special feeling."

The race up the Aitana featured a long set-up ride by Decathlon CMA CGM, the French team pushing a high pace to launch Felix Gall's assault on the red jersey. The Austrian made his move 7km from the line, going time and again, but he couldn't get any separation from his rivals.

Instead, it was new race leader Mas who made the difference. He matched every move by Gall before making one of his own. Surprisingly, Gall couldn't match the acceleration and quickly shed time in the race to the top.

Onley went along for the ride as Mas pushed on at the front, while Roglič attempted to bridge across but couldn't quite do it. Gall was further back, losing time rather than making it up.

The result leaves Mas with an extended lead in the general classification, 1:18 up on Roglič. Gall remains in third place, 1:39 off the lead, while Onley is up to fourth overall, 2:20 down.

How it unfolded

Enric Mas (Movistar) lines up at the start in Villajoyosa wearing the red leader's jersey (Image credit: Getty Images)

The Vuelta a España continued without former leader Tadej Pogačar on stage 9, with 5,000 metres of elevation – more than any other stage – across six climbs and a summit finish at the Alto de Aitana on the menu.

There were few flat metres during the 187.4km stage and the Puerto de Tárbena (7.2km at 5.4%), Puerto de El Miserat (5.2km at 10%), Puerto de Tollos (4.1km at 5.8%), Puerto de Tudons (7km at 5.3%), and Puerto de Benifallim (4.8km at 5.8%) lay on the route ahead of the summit finish (22km at 5.8%), visited for the first time in a decade.

Attacks flew from the start of the day, including the likes of Wout van Aert (Visma-Lease a Bike), Alexey Lutsenko (NSN), Santiago Buitrago (Bahrain Victorious), and Andreas Kron (Uno-X Mobility).

Pavel Sivakov was also off the front, part of UAE Team Emirates-XRG's recalibrated strategy of aggression. At the top of the Puerto de Tárbena, he, Lutsenko and Kron were joined by Alastair Mackellar (EF Education-EasyPost) and Alessandro Romele (XDS-Astana) in the move.

There was more attacking behind, though, and gaps remained small, even 40km into the stage. Only 45 seconds separated the leading quintet and the peloton as a larger chase group raced between them.

Urko Berrade (Kern Pharma) and Bruno Amirail (Visma-Lease a Bike) (Image credit: Getty Images)

UAE Team Emirates-XRG pair Kevin Vermaerke and Finn Fisher-Black were in the chase, as was Buitrago, Ramses Debruyne (Alpecin-Premier Tech), Embret Svestad-Bårdseng (Netcompany Ineos), Valentin Paret-Peintre (Soudal-QuickStep), Urko Berrade (Kern Pharma), Bruno Armirail (Visma-Lease a Bike), Gijs Leemreize (Picnic-PostNL), and Stefan Küng (Tudor).

The chasers bridged the gap to make it 15 up front after 55km of racing, before hitting the steep inclines of the Puerto de Miserat.

On the road to the Miserat, a group of 12 clipped off the front to try and chase, with Cort, Raúl Garcia Pierna (Movistar), and Filippo Zana (Soudal-QuickStep), Gianni Vermeersch (Red Bull-Bora-Hansgrohe), Walter Calzoni, Marcel Camprubí, Milan Vader (Pinarello-Q36.5), Atilla Valter (Bahrain Victorious), Pau Martí (NSN), Sylavin Moniquet (Cofidis), José Manuel Díaz (Burgos-Burpellet-BH), and Oliver Peace (Picnic-PostNL) among their number.

Further back, the peloton was led by Movistar on behalf of new race leader Enric Mas, the Spanish squad letting the breakaway riders take a three-minute lead.

Movistar sets the pace for race leader Enric Mas (Image credit: Getty Images)

The two breakaway groups merged after the Puerto de El Miserat, with the new-look break holding a near five-minute lead heading into the final 100km. Buitrago, with the polka dot jersey in his sights, led the race over the Miserat and the Puerto de Tollos, adding 13 points to his tally and taking the virtual classification lead.

Movistar continued to set the pace on the front behind as Buitrago added another three KOM points over the next climb of the Tudons before several riders, led by Romele, attacked off the front in the valley road afterwards.

It was Romele who led the race over the Puerto de Benifallim, 30 seconds up on lead chaser Camprubí. Six minutes down the climb, Decathlon CMA CGM took over from Movistar in the peloton for their leader Felix Gall.

On the descent, Sivakov joined Camprubí in chasing down Romele, joining him partway down the run towards the base of the Aitana. The trio headed into the final 40km of the race with a 50-second advantage over the strongest of the chasers, including Vermaerke, Paret-Peintre, Debruyne, Buitrago, Vader, Zana, and Kron.

The leading trio hit the Aitana with 1:20 over the rest as Decathlon continued their work in the peloton, hitting the climb with a five-minute deficit. The first move of the climb came from Vader, Buitrago, Paret-Peintre, and Zana, who jumped clear of the chasers, passing a dropped Romele.

Jordan Labrosse ended his mega-turn for Decathlon with 14km to run, leaving five of his Decathlon teammates at the head of the GC group just 3:30 off the leaders. Callum Scotson's turn took another 1:30 off the gap, while Léo Bisiaux and Matthew Riccitello also assisted the pacemaking before Gregor Mühlberger took over with Gall in his wheel.

Pavel Sivakov (UAE Team Emirates-XRG) tries to cool himself down (Image credit: Getty Images)

Just inside 10km to go, Sivakov saw a chance to go clear and took it, leaving Camprubí behind. His time in the lead was numbered, too, though, and he looked certain to be caught. Mühlberger almost sprinted to the 7km mark before Gall made his move, a minute behind Sivakov.

The Austrian had Mas and a host of other GC contenders on his wheel, and the group swelled as the pace soon slowed. He went again at 6km to go, this time with Widar leading the chase, before, once again, the big names went along.

Carapaz was next to make a move, accelerating clear 5.5km from the finish. The Ecuadorian briefly got clear before there was a regrouping a kilometre later, the favourites – plus a resurgent Buitrago – catching and passing Sivakov.

Gall went again at 3.8km to go, and again was unable to break free. Mas, having matched each previous move, was next up, going at 3.2km to go and taking Onley with him. Roglič was next on the road, almost coming across under the 2km banner while Gall had nothing left to give.

Gall languished 35 seconds down and counting as the Mas hit the final kilometre. Roglič couldn't match the pace, either, leaving the race for the win up to Mas and Onley in a two-up sprint. It was Mas who led it out with Onley behind, and he held the front all the way to the line to celebrate victory in red at the Vuelta a España.

Race leader Enric Mas (Movistar) leads Primoz Roglič (Red Bull-Bora-Hansgrohe), Oscar Onley (Netcompany Ineos) and Richard Carapaz (EF Education-Easypost) on Alto de Aitana (Image credit: Getty Images)

Results

Stage 9 classification

Pos

Rider

Time

1

Enric Mas Nicolau (Spa) Movistar Team

5:10:40

2

Oscar Onley (GBr) Netcompany Ineos

0

3

Primož Roglič (Slo) Red Bull-Bora-Hansgrohe

0:0:12

4

Felix Gall (Aut) Decathlon CMA CGM

0:0:18

5

Cristian Rodriguez Martin (Spa) XDS Astana

0:0:20

6

Mattias Skjelmose (Den) Lidl-Trek

0:0:20

7

Jarno Widar (Bel) Lotto-Intermarché

0:0:25

8

Harold Alfonso Tejada Canacue (Col) XDS Astana

0:0:33

9

Richard Carapaz (Ecu) EF Education-EasyPost

0:0:54

10

Santiago Buitrago Sanchez (Col) Bahrain Victorious

0:1:41

11

Sepp Kuss (USA) Visma-Lease a Bike

0:1:44

12

Gregor Mühlberger (Aut) Decathlon CMA CGM

0:1:44

13

Ramses Debruyne (Bel) Alpecin-Premier Tech

0:1:51

14

Clément Berthet (Fra) Groupama-FDJ United

0:1:51

15

Jakob Omrzel (Slo) Bahrain Victorious

0:1:51

16

Matthew Riccitello (USA) Decathlon CMA CGM

0:2:12

17

Filippo Zana (Ita) Soudal-QuickStep

0:3:15

18

Juan Felipe Rodriguez Contreras (Col) EF Education-EasyPost

0:3:22

19

Gijs Leemreize (Ned) Picnic PostNL

0:3:22

20

Pavel Sivakov (Fra) UAE Team Emirates-XRG

0:3:36

21

Milan Vader (Ned) Pinarello-Q36.5

0:3:52

22

Guillaume Martin Guyonnet (Fra) Groupama-FDJ United

0:4:37

23

Léo Bisiaux (Fra) Decathlon CMA CGM

0:5:18

24

Raul Garcia Pierna (Spa) Movistar Team

0:6:20

25

Kevin Vermaerke (USA) UAE Team Emirates-XRG

0:7:23

26

Mario Aparicio Muñoz (Spa) Burgos Burpellet BH

0:7:34

27

Emanuel Buchmann (Ger) Cofidis

0:7:34

28

Marcel Camprubi Pijuan (Spa) Pinarello-Q36.5

0:7:36

29

Jose Manuel Diaz Gallego (Spa) Burgos Burpellet BH

0:7:51

30

Valentin Paret Peintre (Fra) Soudal-QuickStep

0:8:22

31

Andreas Kron (Den) Uno-X Mobility

0:9:47

32

Carlos Rodriguez Cano (Spa) Netcompany Ineos

0:10:21

33

Jack Haig (Aus) Netcompany Ineos

0:10:58

34

Bruno Armirail (Fra) Visma-Lease a Bike

0:11:33

35

Jan Hirt (Cze) NSN Cycling Team

0:11:33

36

Alexey Lutsenko (Kaz) NSN Cycling Team

0:12:16

37

Finlay Xavier Pickering (GBr) Jayco-AlUla

0:13:29

38

Embret Svestad-Bårdseng (Nor) Netcompany Ineos

0:13:39

39

Urko Berrade Fernandez (Spa) Equipo Kern Pharma

0:13:39

40

Pablo Castrillo Zapater (Spa) Movistar Team

0:13:39

41

Callum Scotson (Aus) Decathlon CMA CGM

0:13:47

42

Axel Laurance (Fra) Netcompany Ineos

0:14:29

43

Enzo Paleni (Fra) Groupama-FDJ United

0:14:30

44

Stefan Küng (Swi) Tudor Pro Cycling

0:14:50

45

Valentin Madouas (Fra) Groupama-FDJ United

0:14:50

46

Koen Bouwman (Ned) Jayco-AlUla

0:14:50

47

James Shaw (GBr) EF Education-EasyPost

0:15:20

48

Patrick Konrad (Aut) Lidl-Trek

0:15:42

49

Hugo Hofstetter (Fra) NSN Cycling Team

0:15:42

50

Jose Luis Faura Asensio (Spa) Burgos Burpellet BH

0:16:42

51

Gianni Vermeersch (Bel) Red Bull-Bora-Hansgrohe

0:16:51

52

Tobias Halland Johannessen (Nor) Uno-X Mobility

0:18:33

53

Rudy Porter (Aus) Jayco-AlUla

0:18:33

54

Rémy Rochas (Fra) Groupama-FDJ United

0:19:24

55

Jordan Labrosse (Fra) Decathlon CMA CGM

0:19:53

56

Iñigo Elosegui Momeñe (Spa) Equipo Kern Pharma

0:19:56

57

Sergio Samitier Samitier (Spa) Cofidis

0:19:56

58

Lorenzo Fortunato (Ita) XDS Astana

0:19:56

59

Gianmarco Garofoli (Ita) Soudal-QuickStep

0:19:56

60

Henok Mulueberhan (Eri) XDS Astana

0:19:56

61

Chris Hamilton (Aus) Picnic PostNL

0:19:56

62

Lawrence Warbasse (USA) Tudor Pro Cycling

0:19:56

63

Darren van Bekkum (Ned) XDS Astana

0:19:56

64

Steven Kruijswijk (Ned) Visma-Lease a Bike

0:19:56

65

Joao Pedro Gonçalves Almeida (Por) UAE Team Emirates-XRG

0:19:56

66

Mikel Landa Meana (Spa) Soudal-QuickStep

0:19:56

67

Jacopo Mosca (Ita) Lidl-Trek

0:19:56

68

Reuben Thompson (NZl) Lotto-Intermarché

0:19:56

69

Luke Tuckwell (Aus) Red Bull-Bora-Hansgrohe

0:20:33

70

Lennard Kämna (Ger) Lidl-Trek

0:21:03

71

Ivan Romeo Abad (Spa) Movistar Team

0:21:58

72

Pau Miquel Delgado (Spa) Bahrain Victorious

0:21:58

73

Hannes Wilksch (Ger) Tudor Pro Cycling

0:22:01

74

Jorge Arcas (Spa) Movistar Team

0:22:01

75

Thomas Gloag (GBr) Pinarello-Q36.5

0:22:01

76

Thibau Nys (Bel) Lidl-Trek

0:22:01

77

Julien Bernard (Fra) Lidl-Trek

0:22:01

78

Sander de Pestel (Bel) Decathlon CMA CGM

0:22:01

79

Marco Brenner (Ger) Tudor Pro Cycling

0:22:01

80

Paul Ourselin (Fra) Cofidis

0:22:01

81

Wout van Aert (Bel) Visma-Lease a Bike

0:22:01

82

Gal Glivar (Slo) Alpecin-Premier Tech

0:22:01

83

Attila Valter (Hun) Bahrain Victorious

0:22:01

84

Hugo Houle (Can) Alpecin-Premier Tech

0:22:01

85

William Barta (USA) Tudor Pro Cycling

0:22:01

86

Edward Dunbar (Irl) Pinarello-Q36.5

0:22:01

87

Rudy Molard (Fra) Groupama-FDJ United

0:22:01

88

Frederik Wandahl (Den) Red Bull-Bora-Hansgrohe

0:22:58

89

Christophe Laporte (Fra) Visma-Lease a Bike

0:23:14

90

Pello Bilbao Lopez de Armentia (Spa) Bahrain Victorious

0:23:51

91

Carlos Canal Blanco (Spa) Movistar Team

0:23:51

92

Alastair Mackellar (Aus) EF Education-EasyPost

0:23:52

93

Darren Rafferty (Irl) EF Education-EasyPost

0:23:52

94

Fredrik Dversnes (Nor) Uno-X Mobility

0:23:52

95

George Bennett (NZl) NSN Cycling Team

0:23:52

96

Lucas Wade Hamilton (Aus) Netcompany Ineos

0:23:52

97

Sylvain Moniquet (Bel) Cofidis

0:23:52

98

Gianni Moscon (Ita) Red Bull-Bora-Hansgrohe

0:23:52

99

Vincenzo Albanese (Ita) EF Education-EasyPost

0:23:52

100

Ibon Ruiz Sedano (Spa) Equipo Kern Pharma

0:23:52

101

Simon Dalby (Den) Uno-X Mobility

0:23:52

102

Pau Marti Soriano (Spa) NSN Cycling Team

0:23:52

103

Finn Fisher-Black (NZl) Red Bull-Bora-Hansgrohe

0:23:52

104

Walter Calzoni (Ita) Pinarello-Q36.5

0:24:57

105

Alessandro Romele (Ita) XDS Astana

0:24:57

106

Moritz Kretschy (Ger) NSN Cycling Team

0:25:11

107

Bastien Tronchon (Fra) Groupama-FDJ United

0:25:54

108

Domen Novak (Slo) UAE Team Emirates-XRG

0:28:08

109

Yevgeniy Fedorov (Kaz) XDS Astana

0:28:12

110

Xabier Mikel Azparren Irurzun (Spa) Pinarello-Q36.5

0:28:37

111

Roland Thalmann (Swi) Tudor Pro Cycling

0:29:13

112

Mathijs Paasschens (Ned) Bahrain Victorious

0:29:13

113

Ivan Cobo Cayon (Spa) Equipo Kern Pharma

0:29:47

114

Magnus Nielsen (Den) Uno-X Mobility

0:30:02

115

Fabian Weiss (Swi) Tudor Pro Cycling

0:30:08

116

Sinuhe Fernandez Rodriguez (Spa) Burgos Burpellet BH

0:30:08

117

Jesus Herrada (Spa) Burgos Burpellet BH

0:30:08

118

Georg Steinhauser (Ger) EF Education-EasyPost

0:30:10

119

Jay Vine (Aus) UAE Team Emirates-XRG

0:35:21

120

Michael Gogl (Aut) Alpecin-Premier Tech

0:35:21

121

Mads Pedersen (Den) Lidl-Trek

0:35:21

122

Lindsay de Vylder (Bel) Alpecin-Premier Tech

0:35:21

123

Roman Ermakov (Slo) Bahrain Victorious

0:35:21

124

Martin Tjøtta (Nor) Uno-X Mobility

0:35:21

125

Ben Turner (GBr) Netcompany Ineos

0:35:21

126

Andreas Leknessund (Nor) Uno-X Mobility

0:35:21

127

Jørgen Nordhagen (Nor) Visma-Lease a Bike

0:35:21

128

Oliver Peace (GBr) Picnic PostNL

0:35:21

129

Matthew Brennan (GBr) Visma-Lease a Bike

0:35:21

130

Orluis Alberto Aular Sanabria (Ven) Movistar Team

0:35:21

131

Lorenzo Rota (Ita) Lotto-Intermarché

0:35:21

132

David de la Cruz Melgarejo (Spa) Pinarello-Q36.5

0:35:21

133

David Gonzalez Lopez (Spa) Pinarello-Q36.5

0:35:21

134

Timo de Jong (Ned) Picnic PostNL

0:35:21

135

Oscar Chamberlain (Aus) Decathlon CMA CGM

0:37:38

136

Ivo Oliveira (Por) UAE Team Emirates-XRG

0:37:49

137

Jasha Sütterlin (Ger) Jayco-AlUla

0:40:33

138

Hamish Mckenzie (Aus) Jayco-AlUla

0:40:33

139

Steffen de Schuyteneer (Bel) Lotto-Intermarché

0:40:33

140

Ivan Ramiro Sosa Cuervo (Col) Equipo Kern Pharma

0:40:33

141

Alberto Dainese (Ita) Soudal-QuickStep

0:40:33

142

Jordi Meeus (Bel) Red Bull-Bora-Hansgrohe

0:40:33

143

Nicholas Schultz (Aus) NSN Cycling Team

0:40:33

144

Matevž Govekar (Slo) Bahrain Victorious

0:40:33

145

Timo Roosen (Ned) Picnic PostNL

0:40:33

146

Vito Braet (Bel) Lotto-Intermarché

0:40:33

147

Olivier le Gac (Fra) Groupama-FDJ United

0:40:33

148

Juan Martinez Huertas (Col) Picnic PostNL

0:40:33

149

Arthur Kluckers (Lux) Tudor Pro Cycling

0:40:33

150

Lars Craps (Bel) Lotto-Intermarché

0:40:33

151

Rasmus Tiller (Nor) Uno-X Mobility

0:40:33

152

Marc Brustenga Masague (Spa) Equipo Kern Pharma

0:40:33

153

Mauri Vansevenant (Bel) Soudal-QuickStep

0:40:33

154

Alexis Renard (Fra) Cofidis

0:40:33

155

Fabio van den Bossche (Bel) Soudal-QuickStep

0:40:33

156

Callum Thornley (GBr) Red Bull-Bora-Hansgrohe

0:40:33

157

Asbjørn Hellemose (Den) Jayco-AlUla

0:40:33

158

Ben Tulett (GBr) Visma-Lease a Bike

0:40:33

159

Alessandro Covi (Ita) Jayco-AlUla

0:40:33

160

Clement Alleno (Fra) Burgos Burpellet BH

0:40:33

161

Sente Sentjens (Bel) Alpecin-Premier Tech

0:40:33

162

Francesco Busatto (Ita) Alpecin-Premier Tech

0:40:33

163

Mats Wenzel (Lux) Equipo Kern Pharma

0:40:33

164

Ethan Hayter (GBr) Soudal-QuickStep

0:40:33

165

Paul Double (GBr) Jayco-AlUla

0:40:33

166

Cesar Macias Estrada (Mex) Burgos Burpellet BH

0:41:02

167

Henri François Renard Haquin (Fra) Picnic PostNL

0:41:39

168

Bryan Coquard (Fra) Cofidis

0:41:39

169

Louis Rouland (Fra) Cofidis

0:41:39

170

Mathias Norsgaard (Den) Lidl-Trek

0:42:01

DNF

Pablo Torres Arias (Spa) UAE Team Emirates-XRG

DNF

Kaden Alexander Groves (Aus) Alpecin-Premier Tech

DNF

Victor Langellotti (Mon) XDS Astana

General classification after stage 9

Pos

Rider

Time

1

Enric Mas Nicolau (Spa) Movistar Team

28:34:03

2

Primož Roglič (Slo) Red Bull-Bora-Hansgrohe

0:1:18

3

Felix Gall (Aut) Decathlon CMA CGM

0:1:39

4

Oscar Onley (GBr) Netcompany Ineos

0:2:20

5

Richard Carapaz (Ecu) EF Education-EasyPost

0:3:26

6

Mattias Skjelmose (Den) Lidl-Trek

0:3:55

7

Sepp Kuss (USA) Visma-Lease a Bike

0:4:09

8

Harold Alfonso Tejada Canacue (Col) XDS Astana

0:4:39

9

Gregor Mühlberger (Aut) Decathlon CMA CGM

0:7:33

10

Jakob Omrzel (Slo) Bahrain Victorious

0:8:05

11

Clément Berthet (Fra) Groupama-FDJ United

0:9:32

12

Jarno Widar (Bel) Lotto-Intermarché

0:9:34

13

Cristian Rodriguez Martin (Spa) XDS Astana

0:9:42

14

Guillaume Martin Guyonnet (Fra) Groupama-FDJ United

0:12:58

15

Léo Bisiaux (Fra) Decathlon CMA CGM

0:13:51

16

Matthew Riccitello (USA) Decathlon CMA CGM

0:15:36

17

Juan Felipe Rodriguez Contreras (Col) EF Education-EasyPost

0:16:54

18

Ramses Debruyne (Bel) Alpecin-Premier Tech

0:16:57

19

Filippo Zana (Ita) Soudal-QuickStep

0:24:01

20

Finlay Xavier Pickering (GBr) Jayco-AlUla

0:24:43

21

Embret Svestad-Bårdseng (Nor) Netcompany Ineos

0:27:36

22

Jan Hirt (Cze) NSN Cycling Team

0:31:05

23

Mario Aparicio Muñoz (Spa) Burgos Burpellet BH

0:31:28

24

Tobias Halland Johannessen (Nor) Uno-X Mobility

0:32:14

25

Raul Garcia Pierna (Spa) Movistar Team

0:35:20

26

Emanuel Buchmann (Ger) Cofidis

0:40:17

27

Santiago Buitrago Sanchez (Col) Bahrain Victorious

0:41:12

28

Pavel Sivakov (Fra) UAE Team Emirates-XRG

0:41:48

29

Carlos Rodriguez Cano (Spa) Netcompany Ineos

0:45:45

30

Valentin Paret Peintre (Fra) Soudal-QuickStep

0:46:31

31

Koen Bouwman (Ned) Jayco-AlUla

0:47:12

32

Gijs Leemreize (Ned) Picnic PostNL

0:48:09

33

Jack Haig (Aus) Netcompany Ineos

0:48:23

34

Valentin Madouas (Fra) Groupama-FDJ United

0:49:05

35

Milan Vader (Ned) Pinarello-Q36.5

0:50:16

36

Callum Scotson (Aus) Decathlon CMA CGM

0:50:48

37

Urko Berrade Fernandez (Spa) Equipo Kern Pharma

0:51:42

38

Patrick Konrad (Aut) Lidl-Trek

0:52:15

39

Marcel Camprubi Pijuan (Spa) Pinarello-Q36.5

0:52:46

40

Lawrence Warbasse (USA) Tudor Pro Cycling

0:52:56

41

Attila Valter (Hun) Bahrain Victorious

0:53:52

42

Pello Bilbao Lopez de Armentia (Spa) Bahrain Victorious

0:54:03

43

Gianmarco Garofoli (Ita) Soudal-QuickStep

0:54:44

44

Ibon Ruiz Sedano (Spa) Equipo Kern Pharma

0:54:47

45

Rudy Molard (Fra) Groupama-FDJ United

0:55:51

46

Wout van Aert (Bel) Visma-Lease a Bike

0:55:53

47

Mikel Landa Meana (Spa) Soudal-QuickStep

0:56:53

48

Hugo Hofstetter (Fra) NSN Cycling Team

0:57:41

49

Edward Dunbar (Irl) Pinarello-Q36.5

0:58:20

50

Enzo Paleni (Fra) Groupama-FDJ United

0:58:21

51

Bruno Armirail (Fra) Visma-Lease a Bike

0:58:34

52

Thomas Gloag (GBr) Pinarello-Q36.5

0:59:59

53

Luke Tuckwell (Aus) Red Bull-Bora-Hansgrohe

1:00:02

54

Jose Manuel Diaz Gallego (Spa) Burgos Burpellet BH

1:00:26

55

Hannes Wilksch (Ger) Tudor Pro Cycling

1:00:40

56

James Shaw (GBr) EF Education-EasyPost

1:00:46

57

William Barta (USA) Tudor Pro Cycling

1:00:48

58

Lennard Kämna (Ger) Lidl-Trek

1:02:47

59

Sergio Samitier Samitier (Spa) Cofidis

1:03:21

60

Axel Laurance (Fra) Netcompany Ineos

1:03:34

61

Marco Brenner (Ger) Tudor Pro Cycling

1:03:41

62

Stefan Küng (Swi) Tudor Pro Cycling

1:05:33

63

Andreas Kron (Den) Uno-X Mobility

1:06:29

64

George Bennett (NZl) NSN Cycling Team

1:06:48

65

Henok Mulueberhan (Eri) XDS Astana

1:07:09

66

Jørgen Nordhagen (Nor) Visma-Lease a Bike

1:07:34

67

Alexey Lutsenko (Kaz) NSN Cycling Team

1:08:44

68

Carlos Canal Blanco (Spa) Movistar Team

1:09:40

69

Jay Vine (Aus) UAE Team Emirates-XRG

1:09:42

70

Pau Miquel Delgado (Spa) Bahrain Victorious

1:11:27

71

Ivan Romeo Abad (Spa) Movistar Team

1:12:26

72

Reuben Thompson (NZl) Lotto-Intermarché

1:12:55

73

Paul Ourselin (Fra) Cofidis

1:13:05

74

Frederik Wandahl (Den) Red Bull-Bora-Hansgrohe

1:13:20

75

Jordan Labrosse (Fra) Decathlon CMA CGM

1:13:48

76

Andreas Leknessund (Nor) Uno-X Mobility

1:14:33

77

Gianni Vermeersch (Bel) Red Bull-Bora-Hansgrohe

1:15:51

78

Vincenzo Albanese (Ita) EF Education-EasyPost

1:15:52

79

Bastien Tronchon (Fra) Groupama-FDJ United

1:16:11

80

Fabian Weiss (Swi) Tudor Pro Cycling

1:16:23

81

Lorenzo Fortunato (Ita) XDS Astana

1:16:47

82

Clement Alleno (Fra) Burgos Burpellet BH

1:17:10

83

Roland Thalmann (Swi) Tudor Pro Cycling

1:17:43

84

Pau Marti Soriano (Spa) NSN Cycling Team

1:18:38

85

Jose Luis Faura Asensio (Spa) Burgos Burpellet BH

1:18:46

86

Sander de Pestel (Bel) Decathlon CMA CGM

1:19:07

87

Rémy Rochas (Fra) Groupama-FDJ United

1:19:19

88

Jorge Arcas (Spa) Movistar Team

1:20:07

89

Simon Dalby (Den) Uno-X Mobility

1:20:18

90

Mauri Vansevenant (Bel) Soudal-QuickStep

1:20:35

91

Steven Kruijswijk (Ned) Visma-Lease a Bike

1:20:42

92

Hugo Houle (Can) Alpecin-Premier Tech

1:21:06

93

Sylvain Moniquet (Bel) Cofidis

1:21:40

94

Ben Tulett (GBr) Visma-Lease a Bike

1:21:56

95

Thibau Nys (Bel) Lidl-Trek

1:22:43

96

Julien Bernard (Fra) Lidl-Trek

1:23:52

97

Kevin Vermaerke (USA) UAE Team Emirates-XRG

1:24:12

98

Rudy Porter (Aus) Jayco-AlUla

1:24:28

99

Jacopo Mosca (Ita) Lidl-Trek

1:24:37

100

Pablo Castrillo Zapater (Spa) Movistar Team

1:24:40

101

Lars Craps (Bel) Lotto-Intermarché

1:24:41

102

Xabier Mikel Azparren Irurzun (Spa) Pinarello-Q36.5

1:25:54

103

Gal Glivar (Slo) Alpecin-Premier Tech

1:27:04

104

Finn Fisher-Black (NZl) Red Bull-Bora-Hansgrohe

1:27:04

105

Lucas Wade Hamilton (Aus) Netcompany Ineos

1:29:35

106

Mats Wenzel (Lux) Equipo Kern Pharma

1:30:26

107

Darren Rafferty (Irl) EF Education-EasyPost

1:31:06

108

Darren van Bekkum (Ned) XDS Astana

1:31:21

109

Fredrik Dversnes (Nor) Uno-X Mobility

1:31:37

110

Lorenzo Rota (Ita) Lotto-Intermarché

1:32:00

111

Moritz Kretschy (Ger) NSN Cycling Team

1:32:43

112

Christophe Laporte (Fra) Visma-Lease a Bike

1:32:46

113

Nicholas Schultz (Aus) NSN Cycling Team

1:35:18

114

Georg Steinhauser (Ger) EF Education-EasyPost

1:35:59

115

Joao Pedro Gonçalves Almeida (Por) UAE Team Emirates-XRG

1:36:55

116

David de la Cruz Melgarejo (Spa) Pinarello-Q36.5

1:37:45

117

Walter Calzoni (Ita) Pinarello-Q36.5

1:38:19

118

Alessandro Romele (Ita) XDS Astana

1:38:33

119

Ivan Ramiro Sosa Cuervo (Col) Equipo Kern Pharma

1:39:47

120

Jesus Herrada (Spa) Burgos Burpellet BH

1:40:20

121

Yevgeniy Fedorov (Kaz) XDS Astana

1:41:07

122

Orluis Alberto Aular Sanabria (Ven) Movistar Team

1:41:42

123

Michael Gogl (Aut) Alpecin-Premier Tech

1:42:29

124

Matthew Brennan (GBr) Visma-Lease a Bike

1:44:25

125

David Gonzalez Lopez (Spa) Pinarello-Q36.5

1:44:57

126

Chris Hamilton (Aus) Picnic PostNL

1:45:59

127

Mads Pedersen (Den) Lidl-Trek

1:46:31

128

Francesco Busatto (Ita) Alpecin-Premier Tech

1:47:25

129

Vito Braet (Bel) Lotto-Intermarché

1:47:26

130

Alessandro Covi (Ita) Jayco-AlUla

1:47:30

131

Ben Turner (GBr) Netcompany Ineos

1:48:15

132

Roman Ermakov (Slo) Bahrain Victorious

1:48:35

133

Magnus Nielsen (Den) Uno-X Mobility

1:48:40

134

Bryan Coquard (Fra) Cofidis

1:49:03

135

Iñigo Elosegui Momeñe (Spa) Equipo Kern Pharma

1:49:53

136

Alberto Dainese (Ita) Soudal-QuickStep

1:50:12

137

Mathijs Paasschens (Ned) Bahrain Victorious

1:50:32

138

Gianni Moscon (Ita) Red Bull-Bora-Hansgrohe

1:51:04

139

Callum Thornley (GBr) Red Bull-Bora-Hansgrohe

1:51:22

140

Fabio van den Bossche (Bel) Soudal-QuickStep

1:51:40

141

Henri François Renard Haquin (Fra) Picnic PostNL

1:52:00

142

Timo de Jong (Ned) Picnic PostNL

1:52:20

143

Sinuhe Fernandez Rodriguez (Spa) Burgos Burpellet BH

1:52:24

144

Alastair Mackellar (Aus) EF Education-EasyPost

1:52:46

145

Jordi Meeus (Bel) Red Bull-Bora-Hansgrohe

1:53:28

146

Ivan Cobo Cayon (Spa) Equipo Kern Pharma

1:53:35

147

Lindsay de Vylder (Bel) Alpecin-Premier Tech

1:53:52

148

Martin Tjøtta (Nor) Uno-X Mobility

1:53:53

149

Paul Double (GBr) Jayco-AlUla

1:55:22

150

Ethan Hayter (GBr) Soudal-QuickStep

1:55:37

151

Juan Martinez Huertas (Col) Picnic PostNL

1:57:44

152

Matevž Govekar (Slo) Bahrain Victorious

1:57:52

153

Jasha Sütterlin (Ger) Jayco-AlUla

1:58:35

154

Cesar Macias Estrada (Mex) Burgos Burpellet BH

1:58:48

155

Oscar Chamberlain (Aus) Decathlon CMA CGM

2:00:55

156

Rasmus Tiller (Nor) Uno-X Mobility

2:01:29

157

Timo Roosen (Ned) Picnic PostNL

2:02:03

158

Olivier le Gac (Fra) Groupama-FDJ United

2:02:16

159

Louis Rouland (Fra) Cofidis

2:02:20

160

Alexis Renard (Fra) Cofidis

2:03:36

161

Oliver Peace (GBr) Picnic PostNL

2:04:04

162

Steffen de Schuyteneer (Bel) Lotto-Intermarché

2:04:06

163

Marc Brustenga Masague (Spa) Equipo Kern Pharma

2:05:12

164

Arthur Kluckers (Lux) Tudor Pro Cycling

2:06:34

165

Hamish Mckenzie (Aus) Jayco-AlUla

2:11:56

166

Asbjørn Hellemose (Den) Jayco-AlUla

2:12:50

167

Domen Novak (Slo) UAE Team Emirates-XRG

2:15:19

168

Ivo Oliveira (Por) UAE Team Emirates-XRG

2:19:17

169

Mathias Norsgaard (Den) Lidl-Trek

2:24:53

170

Sente Sentjens (Bel) Alpecin-Premier Tech

2:27:46

Youth classification after stage 9

Pos

Rider

Time

1

Oscar Onley (GBr) Netcompany Ineos

28:36:23

2

Jakob Omrzel (Slo) Bahrain Victorious

0:5:45

3

Jarno Widar (Bel) Lotto-Intermarché

0:7:14

4

Léo Bisiaux (Fra) Decathlon CMA CGM

0:11:31

5

Matthew Riccitello (USA) Decathlon CMA CGM

0:13:16

6

Juan Felipe Rodriguez Contreras (Col) EF Education-EasyPost

0:14:34

7

Ramses Debruyne (Bel) Alpecin-Premier Tech

0:14:37

8

Finlay Xavier Pickering (GBr) Jayco-AlUla

0:22:23

9

Embret Svestad-Bårdseng (Nor) Netcompany Ineos

0:25:16

10

Raul Garcia Pierna (Spa) Movistar Team

0:33:00

11

Carlos Rodriguez Cano (Spa) Netcompany Ineos

0:43:25

12

Valentin Paret Peintre (Fra) Soudal-QuickStep

0:44:11

13

Marcel Camprubi Pijuan (Spa) Pinarello-Q36.5

0:50:26

14

Gianmarco Garofoli (Ita) Soudal-QuickStep

0:52:24

15

Enzo Paleni (Fra) Groupama-FDJ United

0:56:01

16

Thomas Gloag (GBr) Pinarello-Q36.5

0:57:39

17

Luke Tuckwell (Aus) Red Bull-Bora-Hansgrohe

0:57:42

18

Hannes Wilksch (Ger) Tudor Pro Cycling

0:58:20

19

Axel Laurance (Fra) Netcompany Ineos

1:01:14

20

Marco Brenner (Ger) Tudor Pro Cycling

1:01:21

21

Jørgen Nordhagen (Nor) Visma-Lease a Bike

1:05:14

22

Carlos Canal Blanco (Spa) Movistar Team

1:07:20

23

Ivan Romeo Abad (Spa) Movistar Team

1:10:06

24

Reuben Thompson (NZl) Lotto-Intermarché

1:10:35

25

Frederik Wandahl (Den) Red Bull-Bora-Hansgrohe

1:11:00

26

Jordan Labrosse (Fra) Decathlon CMA CGM

1:11:28

27

Bastien Tronchon (Fra) Groupama-FDJ United

1:13:51

28

Fabian Weiss (Swi) Tudor Pro Cycling

1:14:03

29

Pau Marti Soriano (Spa) NSN Cycling Team

1:16:18

30

Simon Dalby (Den) Uno-X Mobility

1:17:58

31

Ben Tulett (GBr) Visma-Lease a Bike

1:19:36

32

Thibau Nys (Bel) Lidl-Trek

1:20:23

33

Pablo Castrillo Zapater (Spa) Movistar Team

1:22:20

34

Lars Craps (Bel) Lotto-Intermarché

1:22:21

35

Gal Glivar (Slo) Alpecin-Premier Tech

1:24:44

36

Finn Fisher-Black (NZl) Red Bull-Bora-Hansgrohe

1:24:44

37

Mats Wenzel (Lux) Equipo Kern Pharma

1:28:06

38

Darren Rafferty (Irl) EF Education-EasyPost

1:28:46

39

Darren van Bekkum (Ned) XDS Astana

1:29:01

40

Moritz Kretschy (Ger) NSN Cycling Team

1:30:23

41

Georg Steinhauser (Ger) EF Education-EasyPost

1:33:39

42

Walter Calzoni (Ita) Pinarello-Q36.5

1:35:59

43

Alessandro Romele (Ita) XDS Astana

1:36:13

44

Matthew Brennan (GBr) Visma-Lease a Bike

1:42:05

45

Francesco Busatto (Ita) Alpecin-Premier Tech

1:45:05

46

Roman Ermakov (Slo) Bahrain Victorious

1:46:15

47

Callum Thornley (GBr) Red Bull-Bora-Hansgrohe

1:49:02

48

Henri François Renard Haquin (Fra) Picnic PostNL

1:49:40

49

Alastair Mackellar (Aus) EF Education-EasyPost

1:50:26

50

Martin Tjøtta (Nor) Uno-X Mobility

1:51:33

51

Juan Martinez Huertas (Col) Picnic PostNL

1:55:24

52

Cesar Macias Estrada (Mex) Burgos Burpellet BH

1:56:28

53

Oscar Chamberlain (Aus) Decathlon CMA CGM

1:58:35

54

Louis Rouland (Fra) Cofidis

2:00:00

55

Oliver Peace (GBr) Picnic PostNL

2:01:44

56

Steffen de Schuyteneer (Bel) Lotto-Intermarché

2:01:46

57

Hamish Mckenzie (Aus) Jayco-AlUla

2:09:36

58

Sente Sentjens (Bel) Alpecin-Premier Tech

2:25:26

Points classification after stage 9

Pos

Rider

Time

1

Wout van Aert (Bel) Visma-Lease a Bike

124

2

Matthew Brennan (GBr) Visma-Lease a Bike

67

3

Alessandro Romele (Ita) XDS Astana

59

4

Mads Pedersen (Den) Lidl-Trek

58

5

Ethan Hayter (GBr) Soudal-QuickStep

57

6

Christophe Laporte (Fra) Visma-Lease a Bike

52

7

Enric Mas Nicolau (Spa) Movistar Team

47

8

Bryan Coquard (Fra) Cofidis

47

9

Jordi Meeus (Bel) Red Bull-Bora-Hansgrohe

47

10

Tobias Halland Johannessen (Nor) Uno-X Mobility

45

11

Oscar Onley (GBr) Netcompany Ineos

43

12

Ramses Debruyne (Bel) Alpecin-Premier Tech

39

13

Felix Gall (Aut) Decathlon CMA CGM

38

14

Mattias Skjelmose (Den) Lidl-Trek

38

15

Gregor Mühlberger (Aut) Decathlon CMA CGM

35

16

Jordan Labrosse (Fra) Decathlon CMA CGM

34

17

Primož Roglič (Slo) Red Bull-Bora-Hansgrohe

33

18

Léo Bisiaux (Fra) Decathlon CMA CGM

32

19

Hugo Hofstetter (Fra) NSN Cycling Team

32

20

Pau Miquel Delgado (Spa) Bahrain Victorious

31

21

Andreas Leknessund (Nor) Uno-X Mobility

30

22

Richard Carapaz (Ecu) EF Education-EasyPost

28

23

Axel Laurance (Fra) Netcompany Ineos

28

24

Jarno Widar (Bel) Lotto-Intermarché

26

25

Alexey Lutsenko (Kaz) NSN Cycling Team

26

26

Edward Dunbar (Irl) Pinarello-Q36.5

23

27

Harold Alfonso Tejada Canacue (Col) XDS Astana

22

28

Vincenzo Albanese (Ita) EF Education-EasyPost

22

29

Sepp Kuss (USA) Visma-Lease a Bike

21

30

Stefan Küng (Swi) Tudor Pro Cycling

21

31

Vito Braet (Bel) Lotto-Intermarché

21

32

Valentin Paret Peintre (Fra) Soudal-QuickStep

20

33

Finn Fisher-Black (NZl) Red Bull-Bora-Hansgrohe

20

34

Cristian Rodriguez Martin (Spa) XDS Astana

19

35

Ben Turner (GBr) Netcompany Ineos

19

36

Patrick Konrad (Aut) Lidl-Trek

18

37

Bastien Tronchon (Fra) Groupama-FDJ United

18

38

Bruno Armirail (Fra) Visma-Lease a Bike

15

39

Jose Manuel Diaz Gallego (Spa) Burgos Burpellet BH

15

40

Jakob Omrzel (Slo) Bahrain Victorious

14

41

Embret Svestad-Bårdseng (Nor) Netcompany Ineos

13

42

Thomas Gloag (GBr) Pinarello-Q36.5

13

43

Kevin Vermaerke (USA) UAE Team Emirates-XRG

13

44

Alberto Dainese (Ita) Soudal-QuickStep

13

45

Callum Thornley (GBr) Red Bull-Bora-Hansgrohe

13

46

David Gonzalez Lopez (Spa) Pinarello-Q36.5

12

47

Juan Felipe Rodriguez Contreras (Col) EF Education-EasyPost

11

48

Pello Bilbao Lopez de Armentia (Spa) Bahrain Victorious

10

49

Ivan Ramiro Sosa Cuervo (Col) Equipo Kern Pharma

10

50

Magnus Nielsen (Den) Uno-X Mobility

10

51

Asbjørn Hellemose (Den) Jayco-AlUla

10

52

Clément Berthet (Fra) Groupama-FDJ United

9

53

Oscar Chamberlain (Aus) Decathlon CMA CGM

9

54

Jay Vine (Aus) UAE Team Emirates-XRG

8

55

Orluis Alberto Aular Sanabria (Ven) Movistar Team

8

56

Raul Garcia Pierna (Spa) Movistar Team

6

57

Santiago Buitrago Sanchez (Col) Bahrain Victorious

6

58

Ben Tulett (GBr) Visma-Lease a Bike

6

59

Arthur Kluckers (Lux) Tudor Pro Cycling

6

60

Henok Mulueberhan (Eri) XDS Astana

5

61

Matevž Govekar (Slo) Bahrain Victorious

5

62

Filippo Zana (Ita) Soudal-QuickStep

4

63

Alessandro Covi (Ita) Jayco-AlUla

4

64

Lawrence Warbasse (USA) Tudor Pro Cycling

3

65

Andreas Kron (Den) Uno-X Mobility

3

66

Rasmus Tiller (Nor) Uno-X Mobility

3

67

Guillaume Martin Guyonnet (Fra) Groupama-FDJ United

2

68

Marcel Camprubi Pijuan (Spa) Pinarello-Q36.5

2

69

Timo de Jong (Ned) Picnic PostNL

2

70

Ivo Oliveira (Por) UAE Team Emirates-XRG

2

71

Sergio Samitier Samitier (Spa) Cofidis

1

72

Marco Brenner (Ger) Tudor Pro Cycling

1

Mountain classification after stage 9

Pos

Rider

Time

1

Santiago Buitrago Sanchez (Col) Bahrain Victorious

29

2

Enric Mas Nicolau (Spa) Movistar Team

24

3

Andreas Leknessund (Nor) Uno-X Mobility

19

4

Wout van Aert (Bel) Visma-Lease a Bike

16

5

Lorenzo Fortunato (Ita) XDS Astana

13

6

Alexey Lutsenko (Kaz) NSN Cycling Team

13

7

Pavel Sivakov (Fra) UAE Team Emirates-XRG

12

8

Felix Gall (Aut) Decathlon CMA CGM

11

9

Oscar Onley (GBr) Netcompany Ineos

10

10

Alessandro Romele (Ita) XDS Astana

9

11

Tobias Halland Johannessen (Nor) Uno-X Mobility

9

12

Walter Calzoni (Ita) Pinarello-Q36.5

7

13

Koen Bouwman (Ned) Jayco-AlUla

6

14

Primož Roglič (Slo) Red Bull-Bora-Hansgrohe

6

15

Richard Carapaz (Ecu) EF Education-EasyPost

6

16

Sepp Kuss (USA) Visma-Lease a Bike

6

17

Gijs Leemreize (Ned) Picnic PostNL

6

18

Paul Double (GBr) Jayco-AlUla

6

19

Jose Manuel Diaz Gallego (Spa) Burgos Burpellet BH

5

20

Andreas Kron (Den) Uno-X Mobility

5

21

Embret Svestad-Bårdseng (Nor) Netcompany Ineos

4

22

Ivan Ramiro Sosa Cuervo (Col) Equipo Kern Pharma

4

23

Harold Alfonso Tejada Canacue (Col) XDS Astana

2

24

Jakob Omrzel (Slo) Bahrain Victorious

2

25

Pablo Castrillo Zapater (Spa) Movistar Team

2

26

Cristian Rodriguez Martin (Spa) XDS Astana

1

27

Juan Felipe Rodriguez Contreras (Col) EF Education-EasyPost

1

28

Ramses Debruyne (Bel) Alpecin-Premier Tech

1

29

Marcel Camprubi Pijuan (Spa) Pinarello-Q36.5

1

30

Edward Dunbar (Irl) Pinarello-Q36.5

1

31

Bruno Armirail (Fra) Visma-Lease a Bike

1

32

Thomas Gloag (GBr) Pinarello-Q36.5

1

33

Stefan Küng (Swi) Tudor Pro Cycling

1

34

George Bennett (NZl) NSN Cycling Team

1

35

Jay Vine (Aus) UAE Team Emirates-XRG

1

36

Ben Tulett (GBr) Visma-Lease a Bike

1

37

Sinuhe Fernandez Rodriguez (Spa) Burgos Burpellet BH

1

38

Ethan Hayter (GBr) Soudal-QuickStep

1

For unbeatable coverage across road, gravel and tech, subscribe to Cyclingnews. You'll get comprehensive race coverage of La Vuelta a España, subscriber-exclusive analysis from our expert columnists, in-depth features and industry-leading tech insight. Plus, the Cyclingnews app lets you follow the action wherever you go! Join today.

Sign up to read this article
Read news from 100's of titles, curated specifically for you.
Already a member? Sign in here
Related Stories
Top stories on inkl right now
One subscription that gives you access to news from hundreds of sites
Already a member? Sign in here
Our Picks
Fourteen days free
Download the app
One app. One membership.
100+ trusted global sources.