Stage-by-stage course map
GRAPHIC: VeloNews.com.
Stages
| Stage | Date | Route (distance) | Winner |
|---|---|---|---|
| Prologue | July 3 | Rotterdam, Netherlands (5.5 mi.) | Fabian Cancellara |
| 1 | July 4 | Rotterdam-Brussels (138.9) | Alessandro Petacchi |
| 2 | July 5 | Brussels-Spa (124.9) | Sylvain Chavanel |
| 3 | July 6 | Wanze-Arenberg Porte du Hainaut (132.4) | Thor Hushovd |
| 4 | July 7 | Cambrai-Reims (95.4) | Alessandro Petacchi |
| 5 | July 8 | Epernay-Montargis (116.5) | Mark Cavendish |
| 6 | July 9 | Montargis-Gueugnon (141.4) | Mark Cavendish |
| 7 | July 10 | Tournus-Station des Rousses (102.8) | Sylvain Chavanel |
| 8 | July 11 | Station des Rousses-Morzine Avoriaz (117.4) | Andy Schleck |
| Rest day | July 12 | Morzine Avoriaz | |
| 9 | July 13 | Morzine Avoriaz-Saint-Jean-de-Maurienne (127.1) | Andy Schleck |
| 10 | July 14 | Chambery-Gap (111.2) | Sergio Paulinho |
| 11 | July 15 | Sisteron-Bourg-les-Valence (114.6) | Mark Cavendish |
| 12 | July 16 | Bourg-de-Peage-Mende (130.8) | Joaquin Rodriguez |
| 13 | July 17 | Rodez-Revel (121.8) | Alexandre Vinokourov |
| 14 | July 18 | Revel-Ax-3 Domaines (114.6) | Christophe Riblon |
| 15 | July 19 | Pamiers-Bagnes-de-Luchon (116.2) | Thomas Voeckler |
| 16 | July 20 | Bagneres-de-Luchon-Pau (124.0) | Pierrick Fedrigo |
| Rest day | July 21 | Pau | |
| 17 | July 22 | Pau-Col du Tourmalet (108.1) | Andy Schleck |
| 18 | July 23 | Salies-de-Bearn-Bordeaux (123.0) | Mark Cavendish |
| 19 | July 24 | Bordeaux-Pauillac time trial (32.3) | Fabian Cancellara |
| 20 | July 25 | Longjumeau-Paris (63.7) |