1. Danilo Di Luca (Liquigas) in 5h02'25'' (media 35,31 km/h)
2. Janez Brajkovic (Discovery Channel)
3. Andrey Kashechkin (Astana) a 7''
4. José Ange Gomez Marchante (Saunier Duval - Prodir) a 15''
5. Carlos Sastre (Team CSC) a 22''
6. Alejandro Valverde (Caisse d'Epargne - Illes Balears)
7. Ruggero Marzoli (Lampre - Fondital) a 36''
8. Samuel Sánchez (Euskaltel - Euskadi) a 39''
9. Manuel Beltran (Discovery Channel)
10. Bernhard Kohl (T-Mobile Team) a 42''
1. Danilo Di Luca (Liquigas) in 18h37'56''
2. Janez Brajkovic (Discovery Channel) a 4''
3. Andrey Kashechkin (Astana) a 18''
4. Carlos Sastre (Team CSC) a 29''
5. José Ange Gomez Marchante (Saunier Duval - Prodir) a 35''
6. Alejandro Valverde (Caisse d'Epargne - Illes Balears) a 36''
7. Manuel Beltran (Discovery Channel) a 55''
8. Thomas Danielson (Discovery Channel) a 58''
9. Bernhard Kohl (T-Mobile Team) a 1'00''
10. Samuel Sánchez (Euskaltel - Euskadi ) a 1'04''
11. Ruggero Marzoli (Lampre - Fondital)
12. Leonardo Piepoli (Saunier Duval - Prodir) a 1'29''
13. Sergio Paulinho (Astana) a 1'54''
14. Ryder Hesjedal (Phonak Hearing Systems) 2'06''
15. Igor Anton (Euskaltel - Euskadi) a 2'09''
16. Iban Mayo (Euskaltel - Euskadi)
17. Jesús Hernández (Relax - Gam) a 2'11''
18. Josep Jufre (Davitamon - Lotto) a 2'16''
19. Alexandre Vinokourov (Astana) a 2'32''
20. Sylvester Szmyd (Lampre - Fondital) a 2'43''