Dès le pied de l'ascension final menant les coureurs à l'arrivée, les équipiers de Lance Armstrong impriment un rythme élevé en tête du peloton ou du moins ce qu'il en reste. Tellement élevé que certains favoris ne peuvent suivre le rythme à savoir Tyler Hamilton qui est le premier laché; suivitun peu plus loin par Roberto Heras qui est décramponné du groupe. Les équipiers d' Armstrong font déja des dégats alors qu'aucunes attaques de l'un des principaux favoris n'est à noter. A 6km de l'arrivée Carlos Sastre déclenche les hostilités. C'est alors que le leader de la T-Mobile, Jan Ullrich cède du terrain sous l'oeil dépité des suiveurs. Le coureur allemand le visage marqué par l'effort, la bouche grande ouverte ne peut suivre le rythme. Il se bat comme un lionpour limiter les dégats bien aidé par son fidèle équipier Guerini. Profitant du formidable travail de José Azevedo qui dynamite la course, Armstrong accélère pour enmené avec lui Basso, Mancebo et Kloden. A 3km de l'arrivée le texan met alors la seconde couche et seul Basso parvient à le suivre, produisant la sensation de la journée en parvenant à accrocher la roue de l'amériain. Les deux hommes collaborent jusqu'à l'arrivée ou Armstrong ne dispute pas le gain de l'étape, et c'est l'italien de la CSC qui remporte cette étape riche en rebondissements.
classement 12ème étape
1. Ivan Basso les 197,5 km en 5h03'58" (38,9 km/h)
2. Lance Armstrong m.t.
3. Andreas Klöden à 20"
4. Francisco Mancebo à 24"
5. Carlos Sastre à 33"
6. Oscar Pereiro à 50"
7. Denis Menchov à 59"
8. Michele Scarponi à 1'02"
9. Iban Mayo à 1'03"
10. Santos Gonzalez m.t.
.....
20. Jan Ullrich à 2'30"
Sur la photo, Jan Ullrich termine difficilement cette 12ème étape du Tour de France ou sa "défaillance" lui aura coûté 2'30 sur Basso et Armstrong.