| # | Date | Start - finish | Distance | Winner | ||
|---|---|---|---|---|---|---|
| 1 | Sa 6 Jul | Brussel — Brussel | 192,0 km | Mike Teunissen | View result | |
| 2 | Su 7 Jul | Brussel — Brussel TTT | 28,0 km | View result | ||
| 3 | Mo 8 Jul | Binche — Épernay | 214,0 km | Julian Alaphilippe | View result | |
| 4 | Tu 9 Jul | Reims — Nancy | 215,0 km | Elia Viviani | View result | |
| 5 | We 10 Jul | Saint-Dié-des-Vosges — Colmar | 169,0 km | Peter Sagan | View result | |
| 6 | Th 11 Jul | Mulhouse — La Planche des Belles Filles | 157,0 km | Dylan Teuns | View result | |
| 7 | Fr 12 Jul | Belfort — Chalon-sur-Saône | 230,0 km | Dylan Groenewegen | View result | |
| 8 | Sa 13 Jul | Mâcon — Saint-Étienne | 199,0 km | Thomas De Gendt | View result | |
| 9 | Su 14 Jul | Saint-Étienne — Brioude | 170,0 km | Daryl Impey | View result | |
| 10 | Mo 15 Jul | Saint-Flour — Albi | 218,0 km | Wout van Aert | View result | |
| Tu 16 Jul | Restday | |||||
| 11 | We 17 Jul | Albi — Toulouse | 167,0 km | Caleb Ewan | View result | |
| 12 | Th 18 Jul | Toulouse — Bagnères-de-Bigorre | 202,0 km | Simon Yates | View result | |
| 13 | Fr 19 Jul | Pau — Pau | 27,0 km | Julian Alaphilippe | View result | |
| 14 | Sa 20 Jul | Tarbet — Tourmalet | 117,0 km | Thibaut Pinot | View result | |
| 15 | Su 21 Jul | Limoux — Foix | 185,0 km | Simon Yates | View result | |
| Mo 22 Jul | Restday | |||||
| 16 | Tu 23 Jul | Nîmes — Nîmes | 177,0 km | Caleb Ewan | View result | |
| 17 | We 24 Jul | Pont du Gard — Gap | 206,0 km | Matteo Trentin | View result | |
| 18 | Th 25 Jul | Embrun — Valloire | 207,0 km | Nairo Quintana | View result | |
| 19 | Fr 26 Jul | Saint-Jean-de-Maurienne — Tignes | 123,0 km | View result | ||
| 20 | Sa 27 Jul | Albertville — Val Thorens | 131,0 km | Vincenzo Nibali | View result | |
| 21 | Su 28 Jul | Rambouillet — Parijs | 127,0 km | Caleb Ewan | View result | |