
| 1 | Lisbon (Portugal) – Oeiras (Portugal) | Primož Roglič | |
| 2 | Cascais (Portugal) – Ourém (Portugal) | 1 | Kaden Groves |
| 3 | Lousã (Portugal) – Castelo Branco (Portugal) | 1 | Wout van Aert |
| 4 | Plasencia – Pico Villuercas | Adam Yates | |
| 5 | Fuente del Maestre – Sevilla | Corbin Strong | |
| 6 | Jerez de la Frontera – Yunquera | Mattias Skjelmose Jensen | |
| 7 | Archidona – Córdoba | Jhonatan Narváez | |
| 8 | Úbeda – Cazorla | Michael Woods | |
| 9 | Motril – Granada | Einer Rubio | |
| 10 | Ponteareas – Baiona | Lennert Van Eetvelt | |
| 11 | Padrón – Padrón | Daniel Felipe Martínez | |
| 12 | Orense – Estación de Montaña de Manzaneda | João Almeida | |
| 13 | Lugo – Puerto de Ancares | Richard Carapaz | |
| 14 | Villafranca del Bierzo – Villablino | Carlos Rodríguez | |
| 15 | Infiesto – Valgrande-Pajares | Sepp Kuss | |
| 16 | Luanco – Lagos de Covadonga | Mikel Landa | |
| 17 | Arnuero – Santander | Dylan Teuns | |
| 18 | Vitoria-Gasteiz – Maeztu | Tao Geoghegan Hart | |
| 19 | Logroño – Alto de Moncalvillo | Aleksandr Vlasov | |
| 20 | Villarcayo – Picón Blanco | 2 | Enric Mas |
| 21 | Distrito Telefónica – Madrid | Joshua Tarling |
| 1 | Brescia | 3 | Brodie CHAPMAN |
| 2 | Sirmione – Volta Mantovana | 3 | Elisa BALSAMO |
| 3 | Sabbioneta – Toano | Gaia REALINI | |
| 4 | Imola – Urbino | Neve BRADBURY | |
| 5 | Frontone – Foligno | 2 | Chiara CONSONNI |
| 6 | San Benedetto del Tronto – Chieti | Lotte KOPECKY | |
| 7 | Lanciano – Blockhaus | 3 | Elisa LONGO BORGHINI |
| 8 | Pescara – L'Aquila | Juliette LABOUS |
| 1 | Florence – Rimini (Italy) | 3 | Wout van Aert |
| 2 | Cesenatico – Bologna (Italy) | Mathieu van der Poel | |
| 3 | Piacenza – Turin (Italy) | Jasper Philipsen | |
| 4 | Pinerolo (Italy) – Valloire | 1 | Tadej Pogačar |
| 5 | Saint-Jean-de-Maurienne – Saint-Vulbas | Arnaud De Lie | |
| 6 | Mâcon – Dijon | Fabio Jakobsen | |
| 7 | Nuits-Saint-Georges – Gevrey-Chambertin | 1 | Remco Evenepoel |
| 8 | Semur-en-Auxois – Colombey-les-Deux-Églises | Mads Pedersen | |
| 9 | Troyes – Troyes | Matej Mohorič | |
| 10 | Orléans – Saint-Amand-Montrond | Dylan Groenewegen | |
| 11 | Évaux-les-Bains – Le Lioran | Giulio Ciccone | |
| 12 | Aurillac – Villeneuve-sur-Lot | Mark Cavendish | |
| 13 | Agen – Pau | Sam Bennett | |
| 14 | Pau – Saint-Lary-Soulan (Pla d'Adet) | 2 | Jonas Vingegaard |
| 15 | Loudenvielle – Plateau de Beille | Juan Ayuso | |
| 16 | Gruissan – Nîmes | Christophe Laporte | |
| 17 | Saint-Paul-Trois-Châteaux – SuperDévoluy | Adam Yates | |
| 18 | Gap – Barcelonnette | Biniam Girmay | |
| 19 | Embrun – Isola 2000 | Carlos Rodríguez | |
| 20 | Nice – Col de la Couillole | João Almeida | |
| 21 | Monaco – Nice | Primož Roglič |