
| 1 | Florence – Rimini (Italy) | Maxim Van Gils | |
| 2 | Cesenatico – Bologna (Italy) | Stephen Williams | |
| 3 | Piacenza – Turin (Italy) | Jasper Philipsen | |
| 4 | Pinerolo (Italy) – Valloire | Pello Bilbao | |
| 5 | Saint-Jean-de-Maurienne – Saint-Vulbas | Dylan Groenewegen | |
| 6 | Mâcon – Dijon | Mark Cavendish | |
| 7 | Nuits-Saint-Georges – Gevrey-Chambertin | 1 | Remco Evenepoel |
| 8 | Semur-en-Auxois – Colombey-les-Deux-Églises | Mads Pedersen | |
| 9 | Troyes – Troyes | Mathieu van der Poel | |
| 10 | Orléans – Saint-Amand-Montrond | Arnaud De Lie | |
| 11 | Évaux-les-Bains – Le Lioran | Derek Gee | |
| 12 | Aurillac – Villeneuve-sur-Lot | 2 | Wout van Aert |
| 13 | Agen – Pau | Bryan Coquard | |
| 14 | Pau – Saint-Lary-Soulan (Pla d'Adet) | 1 | Tadej Pogačar |
| 15 | Loudenvielle – Plateau de Beille | 2 | Jonas Vingegaard |
| 16 | Gruissan – Nîmes | 3 | Alexander Kristoff |
| 17 | Saint-Paul-Trois-Châteaux – SuperDévoluy | Santiago Buitrago | |
| 18 | Gap – Barcelonnette | Magnus Cort | |
| 19 | Embrun – Isola 2000 | Carlos Rodríguez | |
| 20 | Nice – Col de la Couillole | Felix Gall | |
| 21 | Monaco – Nice | Primož Roglič |