Cavendish wins opening stage of Dubai Tour

The margin may have been tighter than he would have liked but in sprinting the only arbiter is the final result and Mark Cavendish (Etixx-QuickStep) was ultimately well worth his victory on the opening stage of the Dubai Tour at Union House Flag.

Swipe to scroll horizontally
#Rider Name (Country) TeamResult
1Mark Cavendish (GBr) Etixx - Quick-Step3:25:00
2Andrea Guardini (Ita) Astana Pro TeamRow 1 - Cell 2
3Elia Viviani (Ita) Team SkyRow 2 - Cell 2
4Alexander Porsev (Rus) Team KatushaRow 3 - Cell 2
5Juan Jose Lobato (Spa) Movistar TeamRow 4 - Cell 2
6Luka Mezgec (Slo) Team Giant-AlpecinRow 5 - Cell 2
7Andrea Palini (Ita) Skydive Dubai Pro Cycling TeamRow 6 - Cell 2
8Paolo Simion (Ita) Bardiani CSFRow 7 - Cell 2
9Daniel Oss (Ita) BMC Racing TeamRow 8 - Cell 2
10Martijn Verschoor (Ned) Team Novo NordiskRow 9 - Cell 2
11Rick Zabel (Ger) BMC Racing TeamRow 10 - Cell 2
12Grega Bole (Slo) CCC Sprandi PolkowiceRow 11 - Cell 2
13John Degenkolb (Ger) Team Giant-AlpecinRow 12 - Cell 2
14Daniele Ratto (Ita) UnitedHealthcare Pro CyclingRow 13 - Cell 2
15Davide Cimolai (Ita) Lampre-MeridaRow 14 - Cell 2
16Lloyd Mondory (Fra) AG2R La MondialeRow 15 - Cell 2
17Nicola Ruffoni (Ita) Bardiani CSFRow 16 - Cell 2
18Ruslan Tleubayev (Kaz) Astana Pro TeamRow 17 - Cell 2
19Christian Delle Stelle (Ita) CCC Sprandi PolkowiceRow 18 - Cell 2
20Gediminas Bagdonas (Ltu) AG2R La MondialeRow 19 - Cell 2
21Adil Jelloul (Mar) Skydive Dubai Pro Cycling TeamRow 20 - Cell 2
22Marcus Burghardt (Ger) BMC Racing TeamRow 21 - Cell 2
23Soufiane Haddi (Mar) Skydive Dubai Pro Cycling TeamRow 22 - Cell 2
24Maciej Paterski (Pol) CCC Sprandi PolkowiceRow 23 - Cell 2
25Anton Vorobyev (Rus) Team KatushaRow 24 - Cell 2
26Andrea Peron (Ita) Team Novo NordiskRow 25 - Cell 2
27Sergei Chernetski (Rus) Team KatushaRow 26 - Cell 2
28Rafaa Chtioui (Tun) Skydive Dubai Pro Cycling TeamRow 27 - Cell 2
29Ben Swift (GBr) Team SkyRow 28 - Cell 2
30Alexey Lutsenko (Kaz) Astana Pro TeamRow 29 - Cell 2
31Chad Haga (USA) Team Giant-AlpecinRow 30 - Cell 2
32Vladimir Gusev (Rus) Skydive Dubai Pro Cycling TeamRow 31 - Cell 2
33Jesus Herrada (Spa) Movistar TeamRow 32 - Cell 2
34Marco Canola (Ita) UnitedHealthcare Pro CyclingRow 33 - Cell 2
35Robert Kiserlovski (Cro) Tinkoff-SaxoRow 34 - Cell 2
36Robert Förster (Ger) UnitedHealthcare Pro CyclingRow 35 - Cell 2
37Mark Renshaw (Aus) Etixx - Quick-StepRow 36 - Cell 2
38Bader Alhammadi Mireza (UAE) United Aeab EmiratesRow 37 - Cell 2
39Matteo Montaguti (Ita) AG2R La MondialeRow 38 - Cell 2
40Janez Brajkovic (Slo) UnitedHealthcare Pro CyclingRow 39 - Cell 2
41Eduard Vorganov (Rus) Team KatushaRow 40 - Cell 2
42Manuele Boaro (Ita) Tinkoff-SaxoRow 41 - Cell 2
43Mikael Cherel (Fra) AG2R La MondialeRow 42 - Cell 2
44Pablo Lastras (Spa) Movistar TeamRow 43 - Cell 2
45Michael Valgren Andersen (Den) Tinkoff-SaxoRow 44 - Cell 2
46Majid Albalooshi (UAE) United Aeab EmiratesRow 45 - Cell 2
47Filippo Pozzato (Ita) Lampre-MeridaRow 46 - Cell 2
48Johannes Fröhlinger (Ger) Team Giant-AlpecinRow 47 - Cell 2
49Philippe Gilbert (Bel) BMC Racing TeamRow 48 - Cell 2
50Michal Kolár (Svk) Tinkoff-SaxoRow 49 - Cell 2
51Klaas Lodewyck (Bel) BMC Racing TeamRow 50 - Cell 2
52Tobias Ludvigsson (Swe) Team Giant-AlpecinRow 51 - Cell 2
53Gang Xu (Chn) Lampre-MeridaRow 52 - Cell 2
54Geraint Thomas (GBr) Team SkyRow 53 - Cell 2
55Alejandro Valverde (Spa) Movistar TeamRow 54 - Cell 2
56Edgar Miguel Lemos Pinto (Por) Skydive Dubai Pro Cycling TeamRow 55 - Cell 2
57Stefan Küng (Swi) BMC Racing TeamRow 56 - Cell 2
58Brent Bookwalter (USA) BMC Racing TeamRow 57 - Cell 2
59Francisco Mancebo Perez (Spa) Skydive Dubai Pro Cycling TeamRow 58 - Cell 2
60Tony Martin (Ger) Etixx - Quick-StepRow 59 - Cell 2
61Oliver Zaugg (Swi) Tinkoff-SaxoRow 60 - Cell 2
62Mohammed Almansoori (UAE) United Aeab EmiratesRow 61 - Cell 2
63Chun Kai Feng (Tpe) Lampre-MeridaRow 62 - Cell 2
64Johan Van Summeren (Bel) AG2R La MondialeRow 63 - Cell 2
65Javier Megias (Spa) Team Novo NordiskRow 64 - Cell 2
66Lukasz Owsian (Pol) CCC Sprandi PolkowiceRow 65 - Cell 2
67Simon Spilak (Slo) Team KatushaRow 66 - Cell 2
68Egor Silin (Rus) Team KatushaRow 67 - Cell 2
69Rafael Valls Ferri (Spa) Lampre-MeridaRow 68 - Cell 2
70Manuel Quinziato (Ita) BMC Racing TeamRow 69 - Cell 2
71Patrick Gretsch (Ger) AG2R La MondialeRow 70 - Cell 2
72Vincenzo Nibali (Ita) Astana Pro TeamRow 71 - Cell 2
73Adrian Kurek (Pol) CCC Sprandi PolkowiceRow 72 - Cell 2
74Jaber Almansoori (UAE) United Aeab EmiratesRow 73 - Cell 2
75Juraj Sagan (Svk) Tinkoff-SaxoRow 74 - Cell 2
76Laurens De Vreese (Bel) Astana Pro TeamRow 75 - Cell 2
77Luka Pibernik (Slo) Lampre-MeridaRow 76 - Cell 2
78Matteo Tosatto (Ita) Tinkoff-SaxoRow 77 - Cell 2
79Salvatore Puccio (Ita) Team SkyRow 78 - Cell 2
80Alessandro Bazzana (Ita) UnitedHealthcare Pro CyclingRow 79 - Cell 2
81Lars Boom (Ned) Astana Pro TeamRow 80 - Cell 2
82Andrew Fenn (GBr) Team SkyRow 81 - Cell 2
83Alessandro Vanotti (Ita) Astana Pro TeamRow 82 - Cell 2
84Christopher Williams (Aus) Team Novo NordiskRow 83 - Cell 2
85David Lozano (Spa) Team Novo NordiskRow 84 - Cell 2
86Julien Vermote (Bel) Etixx - Quick-StepRow 85 - Cell 2
87Eros Capecchi (Ita) Movistar TeamRow 86 - Cell 2
88Enrico Battaglin (Ita) Bardiani CSFRow 87 - Cell 2
89Evgeny Petrov (Rus) Tinkoff-SaxoRow 88 - Cell 2
90Ilia Koshevoy (Blr) Lampre-MeridaRow 89 - Cell 2
91David Lopez (Spa) Team SkyRow 90 - Cell 2
92Adriano Malori (Ita) Movistar TeamRow 91 - Cell 2
93Davide Frattini (Ita) UnitedHealthcare Pro CyclingRow 92 - Cell 2
94Sébastien Minard (Fra) AG2R La MondialeRow 93 - Cell 2
95Sylwester Szmyd (Pol) CCC Sprandi PolkowiceRow 94 - Cell 2
96Dmitriy Gruzdev (Kaz) Astana Pro TeamRow 95 - Cell 2
97Damien Gaudin (Fra) AG2R La MondialeRow 96 - Cell 2
98Ian Boswell (USA) Team SkyRow 97 - Cell 2
99Kevin De Mesmaeker (Bel) Team Novo NordiskRow 98 - Cell 2
100Kiel Reijnen (USA) UnitedHealthcare Pro CyclingRow 99 - Cell 2
101Jonathan Castroviejo (Spa) Movistar TeamRow 100 - Cell 2
102Jan Polanc (Slo) Lampre-MeridaRow 101 - Cell 2
103Giovanni Visconti (Ita) Movistar TeamRow 102 - Cell 2
104Joaquim Rodriguez (Spa) Team KatushaRow 103 - Cell 2
105Simone Sterbini (Ita) Bardiani CSFRow 104 - Cell 2
106Nicola Boem (Ita) Bardiani CSFRow 105 - Cell 2
107Stefano Pirazzi (Ita) Bardiani CSFRow 106 - Cell 2
108Mohammed Al Murawwi (UAE) Skydive Dubai Pro Cycling TeamRow 107 - Cell 2
109Angel Vicioso (Spa) Team KatushaRow 108 - Cell 2
110Petr Vakoc (Cze) Etixx - Quick-StepRow 109 - Cell 2
111Jaroslaw Marycz (Pol) CCC Sprandi Polkowice0:00:46
112Bernhard Eisel (Aut) Team Sky0:00:50
113Luca Sterbini (Ita) Bardiani CSFRow 112 - Cell 2
114Fabio Sabatini (Ita) Etixx - Quick-Step0:00:57
115Ruud Cremers (Ned) Team Novo Nordisk0:00:59
116Nicolas Lefrancois (Fra) Team Novo Nordisk0:01:07
117Andrea Piechele (Ita) Bardiani CSF0:01:16
118Roy Curvers (Ned) Team Giant-AlpecinRow 117 - Cell 2
119Zico Waeytens (Bel) Team Giant-Alpecin0:01:33
120Naser Al Memari (UAE) United Aeab Emirates0:01:41
121Abdulla Almansoori (UAE) United Aeab Emirates0:02:05
122Lukasz Wisniowski (Pol) Etixx - Quick-StepRow 121 - Cell 2
123Federico Zurlo (Ita) UnitedHealthcare Pro Cycling0:02:58
124Thierry Hupond (Fra) Team Giant-Alpecin0:03:04
125Carlos Verona Quintanilla (Spa) Etixx - Quick-StepRow 124 - Cell 2
126Ammar Abdulla (UAE) United Aeab EmiratesRow 125 - Cell 2
127Grzegorz Stepniak (Pol) CCC Sprandi PolkowiceRow 126 - Cell 2
128Essa Alsayed (UAE) United Aeab Emirates0:15:47
Swipe to scroll horizontally
General classification after stage 1
#Rider Name (Country) TeamResult
1Mark Cavendish (GBr) Etixx - Quick-Step3:24:50
2Andrea Guardini (Ita) Astana Pro Team0:00:04
3Elia Viviani (Ita) Team Sky0:00:06
4Ben Swift (GBr) Team Sky0:00:07
5Alessandro Bazzana (Ita) UnitedHealthcare Pro CyclingRow 4 - Cell 2
6Manuele Boaro (Ita) Tinkoff-Saxo0:00:08
7Enrico Battaglin (Ita) Bardiani CSFRow 6 - Cell 2
8Rafael Valls Ferri (Spa) Lampre-Merida0:00:09
9Alexander Porsev (Rus) Team Katusha0:00:10
10Juan Jose Lobato (Spa) Movistar TeamRow 9 - Cell 2
11Luka Mezgec (Slo) Team Giant-AlpecinRow 10 - Cell 2
12Andrea Palini (Ita) Skydive Dubai Pro Cycling TeamRow 11 - Cell 2
13Paolo Simion (Ita) Bardiani CSFRow 12 - Cell 2
14Daniel Oss (Ita) BMC Racing TeamRow 13 - Cell 2
15Martijn Verschoor (Ned) Team Novo NordiskRow 14 - Cell 2
16Rick Zabel (Ger) BMC Racing TeamRow 15 - Cell 2
17Grega Bole (Slo) CCC Sprandi PolkowiceRow 16 - Cell 2
18John Degenkolb (Ger) Team Giant-AlpecinRow 17 - Cell 2
19Daniele Ratto (Ita) UnitedHealthcare Pro CyclingRow 18 - Cell 2
20Davide Cimolai (Ita) Lampre-MeridaRow 19 - Cell 2
21Lloyd Mondory (Fra) AG2R La MondialeRow 20 - Cell 2
22Nicola Ruffoni (Ita) Bardiani CSFRow 21 - Cell 2
23Ruslan Tleubayev (Kaz) Astana Pro TeamRow 22 - Cell 2
24Christian Delle Stelle (Ita) CCC Sprandi PolkowiceRow 23 - Cell 2
25Gediminas Bagdonas (Ltu) AG2R La MondialeRow 24 - Cell 2
26Adil Jelloul (Mar) Skydive Dubai Pro Cycling TeamRow 25 - Cell 2
27Marcus Burghardt (Ger) BMC Racing TeamRow 26 - Cell 2
28Soufiane Haddi (Mar) Skydive Dubai Pro Cycling TeamRow 27 - Cell 2
29Maciej Paterski (Pol) CCC Sprandi PolkowiceRow 28 - Cell 2
30Anton Vorobyev (Rus) Team KatushaRow 29 - Cell 2
31Andrea Peron (Ita) Team Novo NordiskRow 30 - Cell 2
32Sergei Chernetski (Rus) Team KatushaRow 31 - Cell 2
33Rafaa Chtioui (Tun) Skydive Dubai Pro Cycling TeamRow 32 - Cell 2
34Alexey Lutsenko (Kaz) Astana Pro TeamRow 33 - Cell 2
35Chad Haga (USA) Team Giant-AlpecinRow 34 - Cell 2
36Vladimir Gusev (Rus) Skydive Dubai Pro Cycling TeamRow 35 - Cell 2
37Jesus Herrada (Spa) Movistar TeamRow 36 - Cell 2
38Marco Canola (Ita) UnitedHealthcare Pro CyclingRow 37 - Cell 2
39Robert Kiserlovski (Cro) Tinkoff-SaxoRow 38 - Cell 2
40Robert Förster (Ger) UnitedHealthcare Pro CyclingRow 39 - Cell 2
41Mark Renshaw (Aus) Etixx - Quick-StepRow 40 - Cell 2
42Bader Alhammadi Mireza (UAE) United Aeab EmiratesRow 41 - Cell 2
43Matteo Montaguti (Ita) AG2R La MondialeRow 42 - Cell 2
44Janez Brajkovic (Slo) UnitedHealthcare Pro CyclingRow 43 - Cell 2
45Eduard Vorganov (Rus) Team KatushaRow 44 - Cell 2
46Mikael Cherel (Fra) AG2R La MondialeRow 45 - Cell 2
47Pablo Lastras (Spa) Movistar TeamRow 46 - Cell 2
48Michael Valgren Andersen (Den) Tinkoff-SaxoRow 47 - Cell 2
49Majid Albalooshi (UAE) United Aeab EmiratesRow 48 - Cell 2
50Filippo Pozzato (Ita) Lampre-MeridaRow 49 - Cell 2
51Johannes Fröhlinger (Ger) Team Giant-AlpecinRow 50 - Cell 2
52Philippe Gilbert (Bel) BMC Racing TeamRow 51 - Cell 2
53Michal Kolár (Svk) Tinkoff-SaxoRow 52 - Cell 2
54Klaas Lodewyck (Bel) BMC Racing TeamRow 53 - Cell 2
55Tobias Ludvigsson (Swe) Team Giant-AlpecinRow 54 - Cell 2
56Gang Xu (Chn) Lampre-MeridaRow 55 - Cell 2
57Geraint Thomas (GBr) Team SkyRow 56 - Cell 2
58Alejandro Valverde (Spa) Movistar TeamRow 57 - Cell 2
59Edgar Miguel Lemos Pinto (Por) Skydive Dubai Pro Cycling TeamRow 58 - Cell 2
60Stefan Küng (Swi) BMC Racing TeamRow 59 - Cell 2
61Brent Bookwalter (USA) BMC Racing TeamRow 60 - Cell 2
62Francisco Mancebo Perez (Spa) Skydive Dubai Pro Cycling TeamRow 61 - Cell 2
63Tony Martin (Ger) Etixx - Quick-StepRow 62 - Cell 2
64Oliver Zaugg (Swi) Tinkoff-SaxoRow 63 - Cell 2
65Mohammed Almansoori (UAE) United Aeab EmiratesRow 64 - Cell 2
66Chun Kai Feng (Tpe) Lampre-MeridaRow 65 - Cell 2
67Johan Van Summeren (Bel) AG2R La MondialeRow 66 - Cell 2
68Javier Megias (Spa) Team Novo NordiskRow 67 - Cell 2
69Lukasz Owsian (Pol) CCC Sprandi PolkowiceRow 68 - Cell 2
70Simon Spilak (Slo) Team KatushaRow 69 - Cell 2
71Egor Silin (Rus) Team KatushaRow 70 - Cell 2
72Manuel Quinziato (Ita) BMC Racing TeamRow 71 - Cell 2
73Patrick Gretsch (Ger) AG2R La MondialeRow 72 - Cell 2
74Vincenzo Nibali (Ita) Astana Pro TeamRow 73 - Cell 2
75Adrian Kurek (Pol) CCC Sprandi PolkowiceRow 74 - Cell 2
76Jaber Almansoori (UAE) United Aeab EmiratesRow 75 - Cell 2
77Juraj Sagan (Svk) Tinkoff-SaxoRow 76 - Cell 2
78Laurens De Vreese (Bel) Astana Pro TeamRow 77 - Cell 2
79Luka Pibernik (Slo) Lampre-MeridaRow 78 - Cell 2
80Matteo Tosatto (Ita) Tinkoff-SaxoRow 79 - Cell 2
81Salvatore Puccio (Ita) Team SkyRow 80 - Cell 2
82Lars Boom (Ned) Astana Pro TeamRow 81 - Cell 2
83Andrew Fenn (GBr) Team SkyRow 82 - Cell 2
84Alessandro Vanotti (Ita) Astana Pro TeamRow 83 - Cell 2
85Christopher Williams (Aus) Team Novo NordiskRow 84 - Cell 2
86David Lozano (Spa) Team Novo NordiskRow 85 - Cell 2
87Julien Vermote (Bel) Etixx - Quick-StepRow 86 - Cell 2
88Eros Capecchi (Ita) Movistar TeamRow 87 - Cell 2
89Evgeny Petrov (Rus) Tinkoff-SaxoRow 88 - Cell 2
90Ilia Koshevoy (Blr) Lampre-MeridaRow 89 - Cell 2
91David Lopez (Spa) Team SkyRow 90 - Cell 2
92Adriano Malori (Ita) Movistar TeamRow 91 - Cell 2
93Davide Frattini (Ita) UnitedHealthcare Pro CyclingRow 92 - Cell 2
94Sébastien Minard (Fra) AG2R La MondialeRow 93 - Cell 2
95Sylwester Szmyd (Pol) CCC Sprandi PolkowiceRow 94 - Cell 2
96Dmitriy Gruzdev (Kaz) Astana Pro TeamRow 95 - Cell 2
97Damien Gaudin (Fra) AG2R La MondialeRow 96 - Cell 2
98Ian Boswell (USA) Team SkyRow 97 - Cell 2
99Kevin De Mesmaeker (Bel) Team Novo NordiskRow 98 - Cell 2
100Kiel Reijnen (USA) UnitedHealthcare Pro CyclingRow 99 - Cell 2
101Jonathan Castroviejo (Spa) Movistar TeamRow 100 - Cell 2
102Jan Polanc (Slo) Lampre-MeridaRow 101 - Cell 2
103Giovanni Visconti (Ita) Movistar TeamRow 102 - Cell 2
104Joaquim Rodriguez (Spa) Team KatushaRow 103 - Cell 2
105Simone Sterbini (Ita) Bardiani CSFRow 104 - Cell 2
106Nicola Boem (Ita) Bardiani CSFRow 105 - Cell 2
107Stefano Pirazzi (Ita) Bardiani CSFRow 106 - Cell 2
108Mohammed Al Murawwi (UAE) Skydive Dubai Pro Cycling TeamRow 107 - Cell 2
109Angel Vicioso (Spa) Team KatushaRow 108 - Cell 2
110Petr Vakoc (Cze) Etixx - Quick-StepRow 109 - Cell 2
111Grzegorz Stepniak (Pol) CCC Sprandi PolkowiceRow 110 - Cell 2
112Jaroslaw Marycz (Pol) CCC Sprandi Polkowice0:00:56
113Bernhard Eisel (Aut) Team Sky0:00:59
114Luca Sterbini (Ita) Bardiani CSF0:01:00
115Fabio Sabatini (Ita) Etixx - Quick-Step0:01:07
116Ruud Cremers (Ned) Team Novo Nordisk0:01:09
117Nicolas Lefrancois (Fra) Team Novo Nordisk0:01:17
118Andrea Piechele (Ita) Bardiani CSF0:01:26
119Roy Curvers (Ned) Team Giant-AlpecinRow 118 - Cell 2
120Zico Waeytens (Bel) Team Giant-Alpecin0:01:43
121Naser Al Memari (UAE) United Aeab Emirates0:01:51
122Abdulla Almansoori (UAE) United Aeab Emirates0:02:15
123Lukasz Wisniowski (Pol) Etixx - Quick-StepRow 122 - Cell 2
124Federico Zurlo (Ita) UnitedHealthcare Pro Cycling0:03:08
125Thierry Hupond (Fra) Team Giant-Alpecin0:03:14
126Carlos Verona Quintanilla (Spa) Etixx - Quick-StepRow 125 - Cell 2
127Ammar Abdulla (UAE) United Aeab EmiratesRow 126 - Cell 2
128Essa Alsayed (UAE) United Aeab Emirates0:15:57
Swipe to scroll horizontally
Points classification
#Rider Name (Country) TeamResultHeader Cell - Column 3
1Mark Cavendish (GBr) Etixx - Quick-Step20pts
2Andrea Guardini (Ita) Astana Pro Team16Row 1 - Cell 3
3Elia Viviani (Ita) Team Sky12Row 2 - Cell 3
4Alexander Porsev (Rus) Team Katusha9Row 3 - Cell 3
5Ben Swift (GBr) Team Sky8Row 4 - Cell 3
6Alessandro Bazzana (Ita) UnitedHealthcare Pro Cycling8Row 5 - Cell 3
7Juan Jose Lobato (Spa) Movistar Team7Row 6 - Cell 3
8Manuele Boaro (Ita) Tinkoff-Saxo5Row 7 - Cell 3
9Enrico Battaglin (Ita) Bardiani CSFRow 8 - Cell 2 Row 8 - Cell 3
10Luka Mezgec (Slo) Team Giant-AlpecinRow 9 - Cell 2 Row 9 - Cell 3
11Andrea Palini (Ita) Skydive Dubai4pts
12Rafael Valls Ferri (Spa) Lampre-Merida3Row 11 - Cell 3
13Paolo Simion (Ita) Bardiani CSFRow 12 - Cell 2 Row 12 - Cell 3
14Bernhard Eisel (Aut) Team SkyRow 13 - Cell 2 Row 13 - Cell 3
15Daniel Oss (Ita) BMC Racing Team2pts
16Martijn Verschoor (Ned) Team Novo Nordisk1Row 15 - Cell 3
17Daniele Ratto (Ita) UnitedHealthcare Pro CyclingRow 16 - Cell 2 Row 16 - Cell 3
18Vladimir Gusev (Rus) Skydive DubaiRow 17 - Cell 2 Row 17 - Cell 3
Barry Ryan
Head of Features

Barry Ryan is Head of Features at Cyclingnews. He has covered professional cycling since 2010, reporting from the Tour de France, Giro d’Italia and events from Argentina to Japan. His writing has appeared in The Independent, Procycling and Cycling Plus. He is the author of The Ascent: Sean Kelly, Stephen Roche and the Rise of Irish Cycling’s Golden Generation, published by Gill Books.

Latest on Cyclingnews