| leader | | ARMSTRONG Lance | | DSC | | 9h59'12" | | 20 | |
| 1. | | Discovery Channel Pro Cycling Team | | 1h10'39" | | 14 | |
| SAVOLDELLI Paolo, RUBIERA VIGIL Jose Luis, POPOVYCH Yaroslav, PADRNOS Pavel, NOVAL GONZALEZ Benjamin, HINCAPIE George, BELTRAN MARTINEZ Manuel, AZEVEDO Jose Bento Carvalho, ARMSTRONG Lance | |
| 2. | | Team CSC | | 02" | | 10 | |
| VOIGT Jens, SØRENSEN Nicki, JULICH Bobby, ARVESEN Kurt Asle, BASSO Ivan | |
| 3. | | T-Mobile Team | | 35" | | 7 | |
| VINOKOUROV Alexandr, SEVILLA RIVERA Oscar Miguel, KLÖDEN Andreas, KESSLER Matthias, GUERINI Giuseppe, ULLRICH Jan | |
| 4. | | Liberty Seguros - Würth Team | | 53" | | 5 | |
| VICIOSO ARCOS Angel, SANCHEZ GIL Luis Leon, JAKSCHE Jörg, GONZALEZ DE GALDEANO ARANZABAL Igor, DAVIS Allan, CONTADOR VELASCO Alberto, BELOKI DORRONSORO Joseba, HERAS HERNANDEZ Roberto | |
| 5. | | Phonak Hearing Systems | | 01'31" | | 3 | |
| PEREIRO SIO Oscar, LANDIS Floyd, HUNTER Robert, GUTIERREZ CATALUÑA Jose Enrique, BOTERO ECHEVERRY Santiago | |
| 6. | | Crédit Agricole | | 01'41" | | 2 | |
| KASHECHKIN Andrey, JOLY Sébastien, HUSHOVD Thor, HALGAND Patrice, CAUCCHIOLI Pietro, BODROGI Laszlo, MOREAU Christophe | |
| 7. | | Illes Balears - Caisse d'Epargne | | 02'05" | | 1 | |
| ZANDIO ECHAIDE Xabier, VALVERDE BELMONTE Alejandro, KARPETS Vladimir, ARRIETA LUJAMBIO Jose Luis, MANCEBO PEREZ Francisco | |
| 8. | | Gerolsteiner | | 02'05" | | 0 | |
| WEGMANN Fabian, SCHOLZ Ronny, RICH Michael, LEIPHEIMER Levi, TOTSCHNIG Georg | |
| 9. | | Fassa Bortolo | | 02'19" | | 0 | |
| KIRCHEN Kim, GIUNTI Massimo, FRIGO Dario, FLECHA GIANNONI Juan Antonio, FACCI Mauro, CORIONI Claudio, BERNUCCI Lorenzo, CANCELLARA Fabian | |
| 10. | | Liquigas - Bianchi | | 02'26" | | 0 | |
| PELLIZOTTI Franco, PAGLIARINI Luciano Andre Mendonça, LJUNGQVIST Marcus, GEROSA Mauro, CIONI Dario David, CARLSTRÖM Kjell, BÄCKSTEDT Magnus, ALBASINI Michael, GARZELLI Stefano | |
| 11. | | Davitamon - Lotto | | 02'32" | | 0 | |
| VANSEVENANT Wim, VANSUMMEREN Johan, VAN BON Leon, RODRIGUEZ Fred, MERCKX Axel, EVANS Cadel, BRANDT Christophe, AERTS Mario, MCEWEN Robbie | |
| 12. | | Rabobank | | 02'48" | | 0 | |
| WEENING Pieter, WAUTERS Marc, RASMUSSEN Michael, POSTHUMA Joost, LÖWIK Gerben, DEKKER Erik, BOOGERD Michael, MENCHOV Denis | |
| 13. | | Domina Vacanze | | 03'04" | | 0 | |
| NURITDINOV Rafael, LUDEWIG Jörg, IGLINSKIY Maxim, GRIVKO Andriy, FURLAN Angelo, CORTINOVIS Alessandro, BERTOLINI Alessandro, HONCHAR Sergiy | |
| 14. | | Quick Step | | 03'05" | | 0 | |
| ZANINI Stefano, TRENTI Guido, SINKEWITZ Patrik, ROGERS Michael, KNAVEN Servais, CRETSKENS Wilfried, BOONEN Tom | |
| 15. | | Bouygues Telecom | | 03'08" | | 0 | |
| VOECKLER Thomas, PINEAU Jérôme, LEFEVRE Laurent, GESLIN Anthony, FEDRIGO Pierrick, BROCHARD Laurent, BENETEAU Walter, ROUS Didier | |
| 16. | | Euskaltel - Euskadi | | 03'59" | | 0 | |
| ZUBELDIA AGIRRE Haimar, MARTINEZ DE ESTEBAN Egoi, LANDALUZE INTXAURRAGA Iñigo, HERRERO LLORENTE David, ETXEBARRIA ARANA Unai, MAYO DIEZ Iban | |
| 17. | | Lampre - Caffita | | 04'09" | | 0 | |
| STANGELJ Gorazd, SPEZIALETTI Alessandro, PETROV Evgeny, LOOSLI David, GLOMSER Gerrit, COMMESSO Salvatore, BORTOLAMI Gianluca, MAZZOLENI Eddy | |
| 18. | | Cofidis, le Crédit par Téléphone | | 04'28" | | 0 | |
| WHITE Matthew, VASSEUR Cédric, MONCOUTIE David, CHAVANEL Sylvain, O'GRADY Stuart | |
| 19. | | Française des Jeux | | 04'46" | | 0 | |
| MENGIN Christophe, LÖFKVIST Thomas, GILBERT Philippe, EISEL Bernhard, COOKE Baden, CASAR Sandy, MCGEE Bradley | |
| 20. | | Saunier Duval - Prodir | | 05'06" | | 0 | |
| ZABALLA GUTIERREZ Constantino, QUINZIATO Manuel, PIEPOLI Leonardo, HORNER Chris, GOMEZ MARCHANTE Jose Angel, FRITSCH Nicolas, CAÑADA GRACIA David, GARATE CEPA Juan Manuel | |
| 21. | | Ag2r Prévoyance | | 05'23" | | 0 | |
| TURPIN Ludovic, PORTAL Nicolas, KRIVTSOV Yuriy, GOUBERT Stéphane, GERRANS Simon, DUMOULIN Samuel, CALZATI Sylvain, ASTARLOZA CHAURREAU Mikel, NAZON Jean-Patrick | |
|
| - | | SASTRE CANDIL Carlos | | CSC | | 06" | | 0 | |
| - | | ROBERTS Luke | | CSC | | 10" | | 0 | |
| - | | ZABRISKIE David | | CSC | | 01'28" | | 0 | |
| - | | SCHRECK Stephan | | TMO | | 02'01" | | 0 | |
| - | | NARDELLO Daniele | | TMO | | 02'01" | | 0 | |
| - | | ZBERG Beat | | GST | | 02'07" | | 0 | |
| - | | LANG Sebastian | | GST | | 02'07" | | 0 | |
| - | | SERRANO RODRIGUEZ Marcos Antonio | | LSW | | 02'32" | | 0 | |
| - | | ZAMPIERI Steve | | PHO | | 02'34" | | 0 | |
| - | | LOMBARDI Giovanni | | CSC | | 02'36" | | 0 | |
| - | | HULSMANS Kevin | | QST | | 03'16" | | 0 | |
| - | | GUSTOV Volodymyr | | FAS | | 03'16" | | 0 | |
| - | | TANKINK Bram | | QST | | 03'28" | | 0 | |
| - | | ISASI FLORES Iñaki | | EUS | | 04'06" | | 0 | |
| - | | MOOS Alexandre | | PHO | | 04'31" | | 0 | |
| - | | JALABERT Nicolas | | PHO | | 04'31" | | 0 | |
| - | | GRABSCH Bert | | PHO | | 04'31" | | 0 | |
| - | | AUGE Stéphane | | COF | | 04'43" | | 0 | |
| - | | RIGHI Daniele | | LAM | | 04'49" | | 0 | |
| - | | MOUREY Francis | | FDJ | | 04'51" | | 0 | |
| - | | MARICHAL Thierry | | COF | | 04'56" | | 0 | |
| - | | WROLICH Peter | | GST | | 05'11" | | 0 | |
| - | | HINAULT Sébastien | | C.A | | 05'36" | | 0 | |
| - | | GARCIA ACOSTA Jose Vicente | | IBA | | 05'46" | | 0 | |
| - | | BECKE Daniel | | IBA | | 05'46" | | 0 | |
| - | | ARROYO DURAN David | | IBA | | 05'46" | | 0 | |
| - | | DA CRUZ Carlos | | FDJ | | 06'14" | | 0 | |
| - | | KROON Karsten | | RAB | | 06'29" | | 0 | |
| - | | STEINHAUSER Tobias | | TMO | | 07'17" | | 0 | |
| - | | GALVEZ LOPEZ Isaac | | IBA | | 07'29" | | 0 | |
| - | | TOMBAK Janek | | COF | | 07'31" | | 0 | |
| - | | BESSY Frédéric | | COF | | 07'31" | | 0 | |
| - | | BERTOGLIATI Rubens | | SDV | | 07'36" | | 0 | |
| - | | KIRSIPUU Jaan | | C.A | | 07'57" | | 0 | |
| - | | SPRICK Mathieu | | BTL | | 08'03" | | 0 | |
| - | | VANOTTI Alessandro | | DOM | | 08'40" | | 0 | |
| - | | FÖRSTER Robert | | GST | | 08'53" | | 0 | |
| - | | CAMAÑO ORTUZAR Iker | | EUS | | 09'29" | | 0 | |
| - | | FLORES GALARZA Iker | | EUS | | 09'31" | | 0 | |